python - 连接到数据库时pyodbc中的接口错误
问题描述
我正在连接到 MSSQL 数据库。我收到一个错误,因为用户名包含“”我认为这个“”给出了错误。
在下文中,我将附上我的代码和我得到的错误。如果有人可以为此提出一些解决方案,那就太好了。我已经知道有两种类型的身份验证,如 Windows 和普通的一种。当我试图与正常的连接时。正如我在 Windows 上尝试过的一样,但它也没有成功。 注意:我已经尝试使用注释连接字符串,但仍然无法正常工作。您可以在输出中看到它正在打印我们想要的内容,但是在传递 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)") ```
解决方案
推荐阅读
- php - laravel 迁移 SQLSTATE[HY000]:一般错误:1215 无法添加外键约束
- c++ - c ++ ecliipse free():函数末尾的无效指针
- java - 用对象除分数
- protractor - 无法在 Protractor 中配置 Log4js
- java - 整个arraylist在编辑后继续打印
- asp.net - ASP.NET MVC 自动生成整数
- android - 自定义首选项中的 Android 复选框未更新
- javascript - 在 Angular 中写入嵌套对象数组时出现问题
- c# - Lambda 或 Lambda
- python - 如何删除第一次出现的字母?