我在一个将 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 安装,而不是安装在主驱动器上的那个