python – 使用备用unixODBC安装

我正在一个在组织范围内集中安装的驱动器上安装了unixODBC的环境中工作,但是我们(实际的开发人员)不允许在其中安装驱动程序或数据源.这都是倒退,但我必须忍受它.

现在我正在尝试构建一个连接到这个unix enviro的mssql 2005服务器的python应用程序,所以我显然需要一些sql驱动程序!

我通过在我完全控制的部分驱动器上重新安装unixODBC来规避我无法访问预装的unixODBC.我已经安装了freeTDS并配置了所有内容,以便我可以使用isql成功连接到服务器 – 太棒了!

现在唯一的问题是,当我在我的python程序(使用pyodbc)中执行一行时,如:

import pyodbc
pyodbc.connect("DSN=<dsn_name>;UID=...;PWD=...", autocommit=True)

我明白了

 ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnectW)')

我认为这是因为pyodbc仍在寻找原始的unixODBC安装,而不是我的本地安装.所以我想知道:

如何配置我的脚本以查找本地unixODBC安装而不是主驱动器上安装的安装

解决方法:

pyodbc在自定义设置中安装很棘手.您需要编辑setup.py脚本以通过添加类似的内容从您的自定义位置查找unixODBC

settings['include_dirs'] = ['/opt/local/include']
settings['library_dirs'] = ['/opt/local/lib']

到get_compiler_settings函数.

上一篇:vscode编辑器的使用


下一篇:sql-server – Linux与FreeTDS的Microsoft ODBC驱动程序?