我正在尝试在 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;
尝试删除 conn_str 变量的“连接超时 = 0”部分。