Skip to content
Advertisement

Test Connection pyodbc (Python and SSMS)

I’m trying to follow some simple steps in this Microsoft doco but I can get it to connect.

What am I doing wrong?

import pyodbc 
# Some other example server values are
# server = 'localhostsqlexpress' # for a named instance
# server = 'myserver,port' # to specify an alternate port
server = '029783610657SQLEXPRESS' 
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()

This is the error message:

PS C:UsersNelson.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:UsersNelson.Silva> 

Advertisement

Answer

You changed your code before posting. In the code block you say the connect line is

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

but in the exception block the line is:

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

The problem is not the connection. Your python code is invalid. Python is telling you that you haven’t closed one of your strings: SyntaxError: unterminated string literal (detected at line 7) It also gives you a convenient little ^ under where it thinks you haven’t closed a string. In the exception block its at the end of the ;PWD='+ password').

';PWD='+ password') should be ';PWD='+ password) (notice the lack of ‘ at the end of password)

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement