连接到数据库时pyodbc中出现接口错误

2024-04-25 05:30:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在连接MSSQL数据库。我收到一个错误,因为用户名包含“我认为这”是错误

在下面,我将附加我的代码和我得到的错误。如果有人能对此提出一些解决方案,那就太好了。正如我所知,有两种身份验证类型,如Windows和普通身份验证。因为我正试图和正常人联系。就像我用Windows one试过的一样,但也没有成功。 注意:我已经尝试使用已注释的连接字符串,但仍然不起作用。您可以在输出中看到,它正在打印我们想要的内容,但是当传入connect()函数时,它抛出了一个错误

代码如下:

server = 'servername'
database = 'databasename'
username =  dict_config['username'] #"LOCAL\shahrukhan"
print(username)
password = password_asdfsd

# conn_str = r'DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password
# print(conn_str)
# mssql_db_conn = pyodbc.connect(conn_str)
# mssql_db_conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password)
# mssql_db_conn = pyodbc.connect(Trusted_Connection=True, driver = '{SQL Server}',server = server, database = database)
mssql_db_conn = pyodbc.connect('Driver={SQL Server};'
                               'Server=servername;'
                               'Database=databasename;'
                               'Trusted_Connection=yes;')
# mssql_db_conn = pyodbc.connect(Trusted_Connection='no',Driver='{ODBC Driver 17 for SQL Server}',Server=server,Database=database)
if(mssql_db_conn !=""):
    mssql_db_cursor = mssql_db_conn.cursor()
    print("Connected")

我得到以下输出:

LOCAL\\shahrukhan
DRIVER={ODBC Driver 17 for SQL Server};SERVER=servername;DATABASE=databasename;UID=LOCAL\\shahrukhan;PWD=password 
Traceback (most recent call last):
  File "test.py", line 34, in <module>
    mssql_db_conn = pyodbc.connect(conn_str)
pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'LOCAL\\shahrukhan'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'LOCAL\\shahrukhan'. (18456)") ```





Tags: fordbsqlserverlocaldriverconnectusername