pyodbc - Pyodbc 只接受 windows 身份验证
问题描述
我有一个 python 脚本,它通过 pyodbc 从 Windows 连接到 MS SQL 服务器。尝试使用 Windows 身份验证时,它正在连接到数据库,但是当尝试使用 SQL 服务器身份验证(使用用户名和密码)时,它显示以下错误。
"('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]用户'xxxx'登录失败。(18456) (SQLDriverConnect); [28000] [Microsoft][ODBC SQL Server Driver] [SQL Server] 用户 'xxxx' 登录失败。(18456)")"。
但我可以使用该用户名和密码(SQL 服务器凭据)连接到 SQL 服务器。我已经在用户映射选项卡中为该用户启用了数据库读取、写入权限,并且 SQL 服务器身份验证也处于启用状态。这成为一个瓶颈。欢迎提供解决方案。提前致谢!!!。
解决方案
今天我了解到在python中大写和小写最重要。我以前的连接字符串是,
conn=pyodbc.connect(r'DRIVER=SQL Server;SERVER=10.60.144.13;UID=BOT_Autoheal;PWD=bot_Aut0h3a1;DATABASE=OO_GlobalAutoHealing;TRUSTED_CONNECTION=NO';)
但对我有用的实际连接字符串是,
conn=pyodbc.connect(r'DRIVER=SQL Server;SERVER=10.60.144.13;UID=BOT_Autoheal;PWD=bot_Aut0h3a1;DATABASE=OO_GlobalAutoHealing;Trusted_Connection=no')
因此,请始终按原样使用 Trusted_Connection=no,不要尝试将其更改为大写。
推荐阅读
- jquery - jQuery自动完成 - 附加建议不可点击
- airflow - 气流无法使用 GoogleCloud Operatos 遍历 xcom_pull 列表
- html - 当所有其他容器都尽可能小时,如何让容器缩小?
- c++ - 如何在运行时从 flatbuffer 中获取数据值和数据类型
- ios - 如何使用新的pencilkit api注释pdf?
- jenkins - 如果 jenkinsfile 不存在,Bitbucket 分支源插件无法扫描
- firebase - Cloud Functions - 用户自定义声明返回未定义
- node.js - 如何在 Sequelize 中使用案例条件?
- reactjs - reactjs中有哪些节点?
- java - 分解 SVD 时 OjAlgo 和 Commons-math 之间奇异值的差异