首页 > 解决方案 > 使用pyodbc通过linux连接MS-SQL数据库时如何解决错误

问题描述

我正在尝试使用 pyodbc 从我们的 Linux 服务器连接到外部 MS SQL 数据库服务器,但出现错误。

代码:

    import pyodbc
    server = 'XXXXXXXXX,port'
    database = 'XXXXXXXXXXXXXXX'
    username = 'XXXXXXXXXXXX'
    password = 'XXXXXXXX'
    cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
    cursor = cnxn.cursor()

    #Sample select query
    cursor.execute("SELECT @@version;")
    row = cursor.fetchone()
    while row:
        print(row[0])
        row = cursor.fetchone()

    cnxn.close()

错误:

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+密码) pyodbc.ProgrammingError: ( '42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无法打开登录请求的数据库“xxxxxxxxxx”。登录失败。(4060)(SQLDriverConnect)')

我还尝试阅读多种解决方案并尝试它们,例如:将密码放在括号中,例如 --> password = '{XXXXXXXX}' 因为它有特殊字符。还尝试将服务器作为 --> server = 'tcp:XXXXXXXXX,port' 没有任何效果,这一切都给了我同样的错误。

你能指导我解决这个问题吗?

非常感谢您的帮助。

标签: pythonsql-serverlinuxpyodbc

解决方案


推荐阅读