关于Python:Python – Linux – 使用Windows凭据连接到MS SQL – FreeTDS + UnixODBC + pyodbc或pymssql

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版本将起作用。