Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-Linux-使用Windows凭据连接到MS SQL-FreeTDS+;UnixODBC+;pyodbc或pymssql_Python_Pyodbc_Freetds_Unixodbc_Pymssql - Fatal编程技术网

Python-Linux-使用Windows凭据连接到MS SQL-FreeTDS+;UnixODBC+;pyodbc或pymssql

Python-Linux-使用Windows凭据连接到MS SQL-FreeTDS+;UnixODBC+;pyodbc或pymssql,python,pyodbc,freetds,unixodbc,pymssql,Python,Pyodbc,Freetds,Unixodbc,Pymssql,似乎没有任何很好的设置说明。有人有什么好的指示吗?我是一个linux noob,所以要温柔。我确实看到了类似的情况,但没有真正的答案 我有几个问题 FreeTDS“似乎”不起作用。我正在尝试连接,使用“tsql”命令得到以下消息:“默认数据库设置为databaseName “连接到服务器时出现问题”,但未提及问题所在 尝试使用pyodbc进行连接时遇到的错误是:“pyodbc.error:('08S01','08S01][unixODBC][FreeTDS][SQL Server]无法连接:Ad

似乎没有任何很好的设置说明。有人有什么好的指示吗?我是一个linux noob,所以要温柔。我确实看到了类似的情况,但没有真正的答案

我有几个问题

  • FreeTDS“似乎”不起作用。我正在尝试连接,使用“tsql”命令得到以下消息:“默认数据库设置为databaseName “连接到服务器时出现问题”,但未提及问题所在

  • 尝试使用pyodbc进行连接时遇到的错误是:“pyodbc.error:('08S01','08S01][unixODBC][FreeTDS][SQL Server]无法连接:Adaptive Server不可用或不存在(20009)(SQLDriverConnectionW))”

  • 我尝试了与pymssql类似的东西,但遇到了类似的问题。我不断收到无法连接的错误,但它没有告诉我原因


  • 如果您将MS SQL server配置为允许远程TCP/IP连接,并且有一个适当的用户作为用户进行连接,则以下操作有效

    您还需要小心地为MS SQL报告的数据库设置正确的主机名

    import pymssql
    connection = pymssql.connect(
                user = 'username', 
                password = 'password', 
                host = 'server', 
                database = 'database',
            )
    cursor = connection.cursor()
    cursor.execute('select * from db;')
    rows = cursor.fetchall()
    

    该错误表明TDS版本设置不正确。您可以在FreeTDS的配置设置中进行设置。您没有提到您正在使用的MSSQL版本。但是,如果您使用的是say 2005,那么将8.0设置为TDS版本将起作用

    构建FreeTDS()时:


    这似乎很奇怪,没有任何明确的解决办法。我想这是因为没有人能够重现你的问题。您可能需要对系统进行进一步的分析,例如设置一个空的“虚拟”MSSQL数据库,并检查问题是否仍然存在。然后,提供测试设置的具体组成的摘要。这样,其他人可以在您的设置中发现问题,或者在他们自己的机器上尝试类似的设置。
    ./configure --with-tdsver=8.0 --enable-msdblib