当前位置: 首页 > 面试题库 >

Linux python3-无法打开lib'SQL Server'

江迪
2023-03-14
问题内容

我正在尝试连接到Microsoft Azure SQL服务器数据库。

这就是我尝试连接的方式:

 conn = pyodbc.connect('DRIVER={SQL Server};SERVER=%s' % (self.config.get("Sql", "DataSource")),
                        user= self.config.get("Sql", "UserId"),
                        password=self.config.get("Sql", "Password"),
                        database=self.config.get("Sql", "Catalog"))

执行此行时出现错误。错误:

pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found (0) (SQLDriverConnect)")

不知道为什么会这样,知道吗?


问题答案:

我还建议您安装ODBC驱动程序,然后尝试使用pyodbc。我假设您使用的是Ubuntu 15.04+计算机。

要安装ODBC驱动程序,请按照以下说明进行操作:

sudo su
wget https://gallery.technet.microsoft.com/ODBC-Driver-13-for-Ubuntu-b87369f0/file/154097/2/installodbc.sh
sh installodbc.sh

完成后,请使用pip安装pyodbc并尝试以下脚本:

import pyodbc
server = 'tcp:myserver.database.windows.net'
database = 'mydb'
username = 'myusername'
password = 'mypassword'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("SELECT @@version;")
row = cursor.fetchone()
while row:
    print row
    row = cursor.fetchone()

让我知道怎么回事。

欢呼,
见面



 类似资料:
  • 我把Visual Studio从社区2015升级到了社区2017。现在,当我编译时,我得到错误消息,说“Error (active) E1696无法打开源文件“stdio.h”,引用的行如下所示: 如果我创建一个新项目,则会找到 stdio.h。 因此,我查看了项目配置属性- 所以似乎需要设置VC_IncludePath,但我找不到任何设置的地方。请注意,我找不到宏的,这可能是因为我使用的是 Vi

  • 我的环境变量路径中的值为 C:\ProgramData\Oracle\Java\JavaPath;C:\Windows\System32;C:\Windows;C:\Windows\System32\WBEM;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\JDK1.8.0_51\bin;C:\Program Fi

  • 我想启动一个Laravel应用程序,但在运行时,它找不到.env文件。它也没有创造一个。 我认为这是一个路径url问题,因为路径url中提供了斜杠和反斜杠。 以下是输出: 给出错误: file_get_contents(C:\xampp\htdocs\tekom-web/. env):无法打开流:没有这样的文件或目录 脚本php artisan key:generate处理返回的安装后cmd事件,

  • 问题内容: 这与一个年龄较大的人非常相似,但是解决方案对我不起作用。 我有一个WAR包。 在 在 但是得到这个: org.springframework.beans.factory.BeanInitializationException:无法加载属性。嵌套的异常是java.io.FileNotFoundException:无法打开ServletContext资源[/social.propertie

  • 我正在使用spring hibernate开发一个应用程序,如果我使用的是199.892.2.345这样的数据库,我就可以连接到该数据库并执行cud操作,但是如果我将其更改为spring config中的Vinayaka.cloudapp.net,111这样的云数据库,我会得到下面的错误,下面是我正在使用的spring config文件, 错误

  • 在“指数”下面有一条波浪线。IDEA告诉我,它无法解析MVC视图“索引”。我已经把索引页和错误页放在templates目录下,当我运行它时,它仍然会显示一个白色的错误页。令人惊讶的是,当我使用@RestController而不是@Controller时,它可以工作(打开索引页),但当我想打开404页和500页时,它仍然会显示白色标签错误页。

  • 有关您编写的代码问题的问题必须描述特定问题-并且在问题本身中包含有效代码以重现它。有关指导,请参阅SSCCE. org。 在我的应用程序中,我有一个模块,用于在数据库中搜索用户并在jsp内的表中显示他们的信息。我只是在应用程序中设置了Spring Security性。我能够从登录页面连接到数据库,尽管出于某种原因,DAO的CRUD操作(在本例中是搜索)都不起作用。 谢谢,如果我能提供更多信息,请告

  • 我有一个错误:PHP无法打开流:打开的文件太多。 我在这里查看了stackoverflow的各种答案,但我无法解决这个问题。我主要尝试增加最大打开文件数的限制: 我已编辑/等/安全/限制。conf,其中我指定了: 保存并注销/重新启动该框后,命令: 仍打印出1024个。我不知道为什么这没有效果,我想这就是我得到php错误的原因。如果需要,我可以粘贴整个文件或任何其他配置文件。我使用的是PHP 5.