我已按照此链接中的所有步骤操作: https://code.google.com/p/pypyodbc/wiki/Linux_ODBC_in_3_steps
但我仍然收到这个错误:
[unixODBC] [驱动程序管理器]找不到数据源名称,也没有默认值 司机指定
然后当我开始研究更多时,我发现了这个: https://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified
现在它说要修改odbc.ini文件以包含服务器和数据库名称。 但是如果我试图同时连接多个服务器,在这种情况下我应该如何配置odbc.ini文件?
另外 - 在我的数据库连接字符串中,我应该输入驱动程序名称{SQL Server}还是{FreeTDS}?
答案 0 :(得分:2)
以下是使用FreeTDS,unixODBC和朋友设置的示例:
freetds.conf:
[server1]
host = one.server.com
port = 1433
tds version = 7.3
[server2]
host = two.server.com
port = 1433
tds version = 7.3
ODBC.INI:
[server1]
Driver = FreeTDS
Server = one.server.com
Port = 1433
TDS_Version = 7.3
[server2]
Driver = FreeTDS
Server = two.server.com
Port = 1433
TDS_Version = 7.3
ODBCINST.INI:
[FreeTDS]
Description = FreeTDS with Protocol up to 7.3
Driver = /usr/lib64/libtdsodbc.so.0
Driver =
位置可能会有所不同,具体取决于您的FreeTDS发布。
pyodbc connect,DSN free:
DRIVER={FreeTDS};SERVER=one.server.com;PORT=1433;DATABASE=dbname;UID=dbuser;PWD=dbpassword;TDS_Version=7.3;
一些注意事项:
请点击此处了解更多信息:
祝你好运。答案 1 :(得分:0)
如果我尝试同时连接多台服务器,在这种情况下如何配置odbc.ini文件?
如果要连接到多个服务器,则需要为每个服务器创建单独的DSN条目,并使用多个pyodbc connection
对象。或者,或者在其中一个SQL Server实例上设置“链接服务器”,以便您可以通过相同的pyodbc连接访问它们。
在我的数据库连接字符串中,我应该输入驱动程序名称{SQL Server}还是{FreeTDS}?
如果您正在编辑“odbc.ini”,那么您正在创建DSN条目。您可以在连接字符串中使用DSN名称,pyodbc将从“odbc.ini”中的相应条目中获取详细信息(服务器名称,数据库名称)。