如何在 Python 上使用 Windows Auth 登录 MSSQL?
Posted
技术标签:
【中文标题】如何在 Python 上使用 Windows Auth 登录 MSSQL?【英文标题】:How do I log into MSSQL using Windows Auth on Python? 【发布时间】:2017-03-14 14:52:21 【问题描述】:我已经尝试了 pypyodbc 和 pymssql,但都没有使用 Windows 身份验证。 有任何想法吗?当我同时使用用户名和密码时,我可以登录,但我不想这样做。我想使用 Windows 身份验证。
我实际上只能让 pypyodbc 工作。使用 pymssql 时出现不同的连接错误。我用谷歌搜索了不同的例子,但它们不起作用。我想我没有为用户名或其他东西使用正确的格式。我是否必须在其中输入“DomainName\myusername”而不仅仅是我的用户名?我试过这个没有运气。
如何将其转换为 Windows Auth 登录?
import pypyodbc
connection = pypyodbc.connect('Driver=SQL Server;'
'Server=IPaddresshere;'
'Database=PythonTest;'
'uid=myuser;pwd=mypass')
cursor = connection.cursor()
SQLCommand = ("SELECT FirstName, LastName, UID "
"FROM dbo.member "
"WHERE UID = ?")
Values = [2]
cursor.execute(SQLCommand,Values)
results = cursor.fetchone()
# note: UID column is an integer. You can't normally take an integer and place it in a string.
# so you must add str(results[2])
print("Employee " + results[0] + " " + results[1] + " ID is " + str(results[2]))
connection.close()
【问题讨论】:
【参考方案1】:如果您想使用 Windows 身份验证,您的连接字符串应如下所示:
Driver=SQL Server;'
'Server=IPaddresshere;'
'Database=PythonTest;'
'Trusted_Connection=True;'
【讨论】:
【参考方案2】:尝试设置可信连接:
pyodbc.connect(r'Driver=SQL Server;Server=DBINSTANCE;Database=myDB;Trusted_Connection=yes;')
【讨论】:
以上是关于如何在 Python 上使用 Windows Auth 登录 MSSQL?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Windows上使用Python for .NET进行多处理?
如何使 APK 在 WINDOWS 上独立于 Kivy 和 python?
如何使用 InstallShield 在 Windows 上最好地安装 Python + 模块