使用 pyodbc 将 SQL Server 连接到 Python 3
Posted
技术标签:
【中文标题】使用 pyodbc 将 SQL Server 连接到 Python 3【英文标题】:Connect SQL Server to Python 3 with pyodbc 【发布时间】:2016-02-10 07:12:44 【问题描述】:import pyodbc
cnxn = pyodbc.connect('DRIVER=SQL Server Native Client 11.0;SERVER=LENOVO-PCN;DATABASE=testing;')
cursor = cnxn.cursor()
cursor.execute("select Sales from Store_Inf")
row = cursor.fetchone()
if row:
print (row)
我尝试使用带有模块 pyodbc 的 python 3 来连接 SQL Server Express。 我的代码出错了:
('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]命名 管道提供程序:无法打开与 SQL Server [2] 的连接。 (2) (SQLDriverConnect)')
对此有什么想法吗?
【问题讨论】:
试试SERVER=LENOVO-PCN\\SQLEXPRESS
我试过了,它给了我错误:错误:('28000',“[28000] [Microsoft][SQL Server Native Client 11.0][SQL Server]用户''登录失败。( 18456) (SQLDriverConnect)")
还是需要其他设置但我错过了?
听起来您需要包含UID=
和PWD=
用于SQL Server 身份验证,或Trusted_Connection=yes
用于Windows 身份验证。
谢谢,问题已解决。 by 'Trusted_Connection=yes'
【参考方案1】:
这是一个使用 Trusted_Connection=yes 对我有用的示例
import pyodbc
conn_str = pyodbc.connect(
Trusted_Connection='Yes',
Driver='ODBC Driver 11 for SQL Server',
Server='SERVER_NAME,PORT_NUMBER',
Database='DATABASE_NAME'
)
connection = pyodbc.connect(conn_str)
请注意端口号用逗号分隔!
【讨论】:
以上是关于使用 pyodbc 将 SQL Server 连接到 Python 3的主要内容,如果未能解决你的问题,请参考以下文章
使用 Execute many from pyodbc 到 SQL Server 的数据框
如果 SQL Server 是 MS 2012,则从 Pyodbc 连接到 SQL 14 Azure db