【问题标题】:Connect SQL Server to Python 3 with pyodbc使用 pyodbc 将 SQL Server 连接到 Python 3
【发布时间】: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'

标签: sql sql-server python-3.x pyodbc


【解决方案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)

请注意端口号用逗号分隔!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    相关资源
    最近更新 更多