sqlalchemy是Python的数据库连接模块,默认情况下使用SQL身份验证(数据库定义的用户帐户)。如果要使用Windows(域或本地)凭据对SQL Server进行身份验证,则必须更改连接字符串。
默认情况下,按照sqlalchemy的定义,连接到SQL Server的连接字符串如下:
sqlalchemy.create_engine('mssql://*username*:*password*@*server_name*/*database_name*')
如果使用您的Windows凭据使用,则会引发类似于以下的错误:
sqlalchemy.exc.DBAPIError: (Error) ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for us
er '***S\\username'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for us
er '***S\\username'. (18456)") None None
在此错误消息中,代码18456标识SQL Server本身抛出的错误消息。此错误表示凭据不正确。
为了将Windows身份验证与sqlalchemy和mssql一起使用,需要以下连接字符串:
ODBC驱动程序:
engine = sqlalchemy.create_engine('mssql://*server_name*/*database_name*?trusted_connection=yes')
SQL Express实例:
engine = sqlalchemy.create_engine('mssql://*server_name*\\SQLEXPRESS/*database_name*?trusted_connection=yes')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句