【发布时间】:2020-09-30 20:55:26
【问题描述】:
只要我使用受信任的连接,我就可以使用 SQL Alchemy 或 Pyodbc 连接到我的服务器:
pyodbc.connect("Driver={SQL Server};Server=myServer;Port=1433;Database=myDB;trusted_connection=yes")
sqlalchemy.create_engine('mssql://myServer/myDB?trusted_connection=yes&driver=SQL+Server')
但我需要使用基本 Windows 身份验证连接到服务帐户。当我尝试像这样添加 UID/PWD 时:
sqlalchemy.create_engine("mssql+pyodbc://myUserName:myPassWord@myServer?driver=SQL+Server?trusted_connection=no")
pyodbc.connect('DRIVER={SQL Server};SERVER=myServre;DATABASE=myDB;UID=myUserName;PWD=myPassword')
我收到错误“用户 'myUserName' 登录失败。(18456) (SQLDriverConnect); [28000]”
奖励尝试:
sqlalchemy.create_engine("mssql+pyodbc://myUserName:myPassword@myDB?driver=SQL+Server?trusted_connection=no")
返回 '[Microsoft][ODBC Driver Manager] 数据源名称太长 (0) (SQLDriverConnect)'
使用 SQL Server 2018。
我已验证服务帐户在我尝试连接的数据库上拥有所有正确的权限。 FWIW,我也尝试使用我自己的 Windows 凭据而不是服务帐户的凭据(但使用trusted_connection=no)进行连接,我收到了相同的错误消息。
【问题讨论】:
-
没有 SQL Server 2018 版本 - 我们有 2012、2014、2016、2017 和 2019 - 任君选择
标签: python sql-server windows authentication odbc