是否可以指定 pyodbc 在哪里查找 SQL 驱动程序?
我有一个 python 应用程序,它需要“SQL Native Client 10.0”驱动程序才能连接到 SQL 数据库。所以我的连接字符串看起来像:
dsn = 'DRIVER={SQL Server Native Client 10.0};SERVER=localhost;DATABASE=mydatabase;UID=sa;PWD=mypasswd'
con = pyodbc.connect(dsn)
with con:
#do something
一个主要缺点(至少对我而言)是,需要在机器上安装 SQL Native Client 10.0 驱动程序并且需要管理员权限。但是,我希望用户无需任何安装即可运行我的 python 应用程序。
在互联网上快速研究后,似乎 SQL Native 客户端 10.0 依赖于一个简单的 DLL (sqlncli10.dll),它位于 C:\Windows\System32 中。那么是否有可能告诉 pyodbc 它应该在哪里寻找合适的 SQL 驱动程序?
据我了解,pymssql 做了类似的事情(FreeTDS 驱动程序包含在 Python 包中,因此不需要进一步安装驱动程序)。但是,在我看来,pyobc 比 pymssql 更稳定(而且社区似乎也更活跃),所以我想使用 pyodbc 与我的数据库进行通信。