Python - Linux - Connecting to MS SQL with Windows Credentials - FreeTDS+UnixODBC + pyodbc or pymssql
设置它似乎没有任何好的指示。 有没有人有任何好的指示? 我是一个Linux菜鸟,所以要温柔。 我确实看到了另一篇相似的帖子,但没有真正的答案。
我有几个问题。
FreeTDS"似乎"不起作用。 我正在尝试连接,并使用"tsql"命令获取以下消息:"默认数据库设置为databaseName
连接到服务器时出现问题"但它没有提到问题所在。
我尝试使用pyodbc连接时得到的错误是:"pyodbc.Error:('08S01','[08S01] [unixODBC] [FreeTDS] [SQL Server]无法连接:Adaptive Server不可用或不存在( 20009)(SQLDriverConnectW)')"
我尝试过与pymssql类似的东西,但我遇到了类似的问题。 我不断收到我无法连接的错误,但它没有告诉我原因。
如果将MS SQL服务器配置为允许远程TCP / IP连接并使用适当的用户进行连接,则以下情况有效。
您还需要小心为MS SQL报告的db设置正确的主机名。
1 2 3 4 5 6 7 8 9 10 | import pymssql connection = pymssql.connect( user = 'username', password = 'password', host = 'server', database = 'database', ) cursor = connection.cursor() cursor.execute('select * from db;') rows = cursor.fetchall() |
在构建FreeTDS时(http://www.freetds.org/userguide/config.htm):
1 | ./configure --with-tdsver=8.0 --enable-msdblib |
该错误表明TDS版本设置不正确。 您可以在FreeTDS的配置设置中进行设置。 您没有提到您正在使用的MSSQL版本。 但是,如果你使用说2005,将8.0设置为TDS版本将起作用。