如何使用Windows身份验证通过sqlalchemy连接到SQL Server?

 x深藏的爱x_402 发布于 2023-01-11 12:12

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自身引发的错误消息.此错误表示凭据不正确.

1 个回答
  • 要使用sqlalchemy和mssql进行Windows身份验证,需要以下连接字符串:

    OBDC驱动程序:

    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') 
    

    2023-01-11 12:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有