gpt4 book ai didi

python - Pyodbc 找不到 FreeTDS 驱动

转载 作者:行者123 更新时间:2023-12-03 20:25:43 29 4
gpt4 key购买 nike

我在 Centos 7 Linux 机器上尝试通过 pyodbc 连接到 SQL 数据库。我了解到您需要设置 DSN,您可以通过安装 freetds 驱动程序并执行以下操作来实现:

import pyodbc
cnxn = pyodbc.connect('DRIVER={FreeTDS};SERVER=example;DATABASE=TEST;')

不幸的是,当我这样做时,我收到一条错误消息,说找不到驱动程序 FreeTDS。我跑了:
$ ./configure
$ make
$ make install

它似乎已经安装了它,但我遇到了同样的错误。有人可以给我发送一个工作示例的链接吗

最佳答案

如果您从源代码编译 FreeTDS,它将安装到/usr/local/freetds, IIRC。您也可以通过 yum 安装在 CentOS 上,您还需要 unixODBC。基本上,FreeTDS 将 SQL Server 桥接到 unixODBC,而 pyodbc 将 unixODBC 桥接到 Python。

这是使用 FreeTDS、unixODBC 和 friend 设置的示例:

freetds.conf:

[server]
host = server.com
port = 1433
tds version = 7.3

odbc.ini:
[server]
Driver = FreeTDS
Server = 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 发行版 - 如果您是从源代码编译的,很可能是 /usr/local/freetds/lib/libtdsodbc.so .

pyodbc 连接,无 DSN:
DRIVER={FreeTDS};SERVER=server.com;PORT=1433;DATABASE=dbname;UID=dbuser;PWD=dbpassword;TDS_Version=7.3;

一些注意事项:
  • 您必须更新 TDS 版本以匹配您正在运行的 SQL Server 版本和您正在运行的免费 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

    祝你好运。

    关于python - Pyodbc 找不到 FreeTDS 驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33158503/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com