在 Linux 中配置 ODBC 驱动程序
Configure ODBC drivers in Linux
我已按照此 link 中的所有步骤进行操作:
https://code.google.com/p/pypyodbc/wiki/Linux_ODBC_in_3_steps
但我仍然收到此错误:
[unixODBC][Driver Manager] Data source name not found, and no default
driver specified
然后当我开始进一步研究时,我发现了这个:
https://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified
现在它说要修改 odbc.ini 文件以包含服务器和数据库名称。
但是如果我试图同时连接到多个服务器,在这种情况下我应该如何配置 odbc.ini 文件?
此外 - 在我的数据库连接字符串中,我应该将驱动程序名称输入为 {SQL Server} 还是 {FreeTDS}?
if I'm trying to connect to multiple servers at the same time, how should I configure odbc.ini file in this case?
如果您想连接到多个服务器,您需要为每个服务器创建一个单独的 DSN 条目并使用多个 pyodbc connection
对象。要么,要么在 SQL 服务器实例之一上设置 "Linked Server",这样您就可以通过同一个 pyodbc 连接访问这两个实例。
in my database connection string, should I enter the driver name as {SQL Server} or {FreeTDS}?
如果您正在编辑 "odbc.ini",那么您就是在创建 DSN 条目。您将在连接字符串中使用 DSN 名称,pyodbc 将从 "odbc.ini".
中的相应条目中获取详细信息(服务器名称、数据库名称)
这是一个使用 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 连接,DSN 免费:
DRIVER={FreeTDS};SERVER=one.server.com;PORT=1433;DATABASE=dbname;UID=dbuser;PWD=dbpassword;TDS_Version=7.3;
一些注意事项:
- 您必须更新 TDS 版本以匹配 SQL 服务器版本 运行 和免费 TDS 版本 运行。 0.95 版支持 TDS 7.3 版。
- TDS 7.3 版将适用于 MS SQL Server 2008 及更高版本。
- 为 MS SQL Server 2005 使用 TDS 7.2 版。
更多信息请看这里:
https://msdn.microsoft.com/en-us/library/dd339982.aspx
祝你好运。
我已按照此 link 中的所有步骤进行操作: https://code.google.com/p/pypyodbc/wiki/Linux_ODBC_in_3_steps
但我仍然收到此错误:
[unixODBC][Driver Manager] Data source name not found, and no default driver specified
然后当我开始进一步研究时,我发现了这个: https://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified
现在它说要修改 odbc.ini 文件以包含服务器和数据库名称。 但是如果我试图同时连接到多个服务器,在这种情况下我应该如何配置 odbc.ini 文件?
此外 - 在我的数据库连接字符串中,我应该将驱动程序名称输入为 {SQL Server} 还是 {FreeTDS}?
if I'm trying to connect to multiple servers at the same time, how should I configure odbc.ini file in this case?
如果您想连接到多个服务器,您需要为每个服务器创建一个单独的 DSN 条目并使用多个 pyodbc connection
对象。要么,要么在 SQL 服务器实例之一上设置 "Linked Server",这样您就可以通过同一个 pyodbc 连接访问这两个实例。
in my database connection string, should I enter the driver name as {SQL Server} or {FreeTDS}?
如果您正在编辑 "odbc.ini",那么您就是在创建 DSN 条目。您将在连接字符串中使用 DSN 名称,pyodbc 将从 "odbc.ini".
中的相应条目中获取详细信息(服务器名称、数据库名称)这是一个使用 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 连接,DSN 免费:
DRIVER={FreeTDS};SERVER=one.server.com;PORT=1433;DATABASE=dbname;UID=dbuser;PWD=dbpassword;TDS_Version=7.3;
一些注意事项:
- 您必须更新 TDS 版本以匹配 SQL 服务器版本 运行 和免费 TDS 版本 运行。 0.95 版支持 TDS 7.3 版。
- TDS 7.3 版将适用于 MS SQL Server 2008 及更高版本。
- 为 MS SQL Server 2005 使用 TDS 7.2 版。
更多信息请看这里:
https://msdn.microsoft.com/en-us/library/dd339982.aspx
祝你好运。