无法在Python中使用pyodbc建立连接

问题描述 投票:0回答:1

我正在尝试在 VS Code 中使用 Python 中的 pyodbc 连接到本地 SQL Server 数据库。我可以使用 SQL Server 扩展连接到服务器。我相信这可以验证驱动程序名称、服务器名称和数据库名称是否正确。我正在 Windows 机器上运行它。当我运行笔记本时

关于可能导致此问题的原因以及如何解决它有什么想法吗?

这是代码片段:

conn_str = (
    f'DRIVER={{{DRIVER_NAME}}};'
    f'SERVER={SERVER_NAME};'
    f'DATABASE={DATABASE_NAME};'
    f'Trusted_Connection=yes;'
    f'Connection Timeout=0;'
)

try:
    # Attempt to establish a connection
    conn = pyodbc.connect(conn_str)
    print('Connected to SQL Server')

    # Test a query
    cursor = conn.cursor()
    cursor.execute("SELECT 1")
    row = cursor.fetchone()
    print("Test Query Result:", row[0])

    # Close the connection
    cursor.close()
    conn.close()
    
except pyodbc.Error as e:
    # Print detailed error information
    print("Error:", e)
    print("Connection String:", conn_str)

当我运行此代码时,它会正确打印出驱动程序列表,但我无法建立与数据库的连接。我收到“无连接”错误。

Error: ('08001', '[08001] [Microsoft][ODBC Driver 17 for SQL Server]Unable to complete login process due to delay in opening server connection (0) (SQLDriverConnect); [08001] [Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute (0)')
Connection String: DRIVER={ODBC Driver 17 for SQL Server};SERVER=<server>;DATABASE=<database>;Trusted_Connection=yes;Connection Timeout=0;Encrypt=yes;
python sql-server pyodbc
1个回答
0
投票

尝试删除 conn_str 变量的“连接超时 = 0”部分。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.