我正在尝试使用Python3.4连接到SQL Server数据库
这是适合我的代码
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=DESKTOP-GDM2HQ17\SQLEXPRESS;DATABASE=pyconnect;Trusted_Connection=yes')
我使用 Windows 连接登录到我的 Management studio - 数据库。
这是代码,它对我不起作用:
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=DESKTOP-GDM2HQ17\SQLEXPRESS;DATABASE=pyconnect;UID=DESKTOP-GDM2HQ17\sid;PWD=123')
请分享您对我出错的地方的想法。
那里有两个SQL Server 身份验证模式 https://learn.microsoft.com/en-us/sql/relational-databases/security/choose-an-authentication-mode:
1、通过Windows身份验证连接:
当用户通过 Windows 用户帐户进行连接时,SQL Server 使用操作系统中的 Windows 主体令牌验证帐户名和密码。
2、通过SQL Server身份验证连接:
使用 SQL Server 身份验证时,将在 SQL Server 中创建不基于 Windows 用户帐户的登录名。用户名和密码都是使用SQL Server创建并存储在SQL Server中。
您的第一个代码正在工作,因为它是通过 Windows 身份验证进行连接。
您的第二个代码不起作用,因为它试图查找存储在 SQL Server 中的凭据(登录名和密码),但该凭据不是在 SQL Server 中创建的。
此外,您可以参考官方文档以了解如何更改服务器验证模式 https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode。
希望它能帮助你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)