pyodbc无法读取指定FILEDSN文件的问题求助
pyodbc无法读取指定FILEDSN文件的问题求助
我正在开发一个需要和特定数据库服务器(Openlink Virtuoso实例)建立ODBC连接的应用。之前一直用odbc.ini文件里配置的DSN,连接都正常,但现在我想把DSN信息直接嵌入到应用里,不再依赖外部的配置文件。
我尝试在连接字符串里用FILEDSN指定.dsn文件的路径,但看起来pyodbc根本没用到这个文件:
pyodbc.connect("FILEDSN=<path-to-file>.dsn;UID=<uid>;PWD=<pwd>")
运行后抛出了如下错误:
pyodbc.InterfaceError: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found and no default driver specified (0) (SQLDriverConnect)')
我的.dsn文件里的内容和odbc.ini中对应DSN的配置完全一致:
[ODBC] Driver = /usr/lib/virtodbc_r.so Address = <my-endpoint>
从错误信息是unixODBC驱动管理器返回的这点来看,我怀疑pyodbc根本没读取我的.dsn文件——要是它读了的话,应该会使用Virtuoso的ODBC驱动才对。是不是我对pyodbc或者连接字符串的用法有什么遗漏的点?
另外提一句:我现在用无DSN连接暂时绕开了这个问题,但从环境变量里拿必要信息总感觉不是规范做法。
备注:内容来源于stack exchange,提问作者Equino
相关产品推荐
相关产品推荐

