测试连接 pyodbc(Python 和 SSMS)

Test Connection pyodbc (Python and SSMS)

我正在尝试按照此 Microsoft doco 中的一些简单步骤操作,但我可以连接它。

我做错了什么?

import pyodbc 
# Some other example server values are
# server = 'localhost\sqlexpress' # for a named instance
# server = 'myserver,port' # to specify an alternate port
server = '029783610657\SQLEXPRESS' 
database = 'LM_Critical_Alerts' 
username = '' 
password = '' 
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()

这是错误信息:

PS C:\Users\Nelson.Silva> &

C:/Users/Nelson.Silva/AppData/Local/Programs/Python/Python310/python.exe "c:/Users/Nelson.Silva/.../Desktop/conncection test pyobdc.py"
  File "c:....conncection test pyobdc.py", line 7
    cnxn = pyodbc.connect('SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password')
                                                                                                   ^
SyntaxError: unterminated string literal (detected at line 7)
PS C:\Users\Nelson.Silva> 

您在发帖前更改了代码。在代码块中,您说连接线是

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)

但在异常块中,该行是:

cnxn = pyodbc.connect('SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password')

问题不在于连接。您的 python 代码无效。 Python 告诉你你还没有关闭你的一个字符串:SyntaxError: unterminated string literal (detected at line 7) 它还为你提供了一个方便的小 ^ 在它认为你没有关闭字符串的地方。在异常块中,它位于 ;PWD='+ password').

的末尾

';PWD='+ password') 应该是 ';PWD='+ password)(注意 password 末尾缺少 ')