在Google Colab上使用pyodbc

3

我尝试使用pyodbc连接谷歌Colab中的SQL服务器,但是提示找不到驱动程序。

安装包的代码(我用x替换了IP、端口和密码)

``` !sudo apt-get install unixodbc-dev
!pip install pyodbc
!pip install chart_studio ```

``` import pyodbc
conn = pyodbc.connect(DRIVER = '{ODBC Driver 17 for SQL Server}',
                      SERVER = 'xxx.xxx.x.xx, xxxx',
                      DATABASE = 'Database',
                      UID = 'sa',
                      PWD = 'xxxxxx')

cursor = conn.cursor()
```

我收到了这个错误:

```---------------------------------------------------------------------------
Error                                     Traceback (most recent call last)
<ipython-input-12-3e54dc10e278> in <module>()
      3                       DATABASE = 'Database_PIL',
      4                       UID = 'sa',
----> 5                       PWD = 'mbdxwko2')
      6 
      7 cursor = conn.cursor()

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

你有任何建议如何使它工作吗?

谢谢!

2个回答

5

我曾遇到同样的问题,但最终发现直接从微软安装ODBC组件可以解决它。在colab中以单个批处理的形式运行以下代码即可。

%%sh
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17

1
尝试按照您提到的安装ODBC包,但它抛出错误。CalledProcessError: Command 'b'curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -\ncurl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list\nsudo apt-get update\nsudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17\n'' returned non-zero exit status 100. - Pravin
@Pravin 面对和你一样的错误。有人知道如何解决这个问题吗? - undefined

1

谢谢你们俩,这对我有用:

第一个块

%%sh
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17

第二个块。
!sudo apt-get install unixodbc-dev
!pip install pyodbc
!pip install chart_studio

第三个块。
import pyodbc

尝试了您的建议,但仍然不起作用。有任何其他建议吗? 错误信息:('01000',"[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found (0) (SQLDriverConnect)") - Pravin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接