【问题标题】:python 3.3, pypyodbc, connecting to SQL Server Failspython 3.3,pypyodbc,连接到 SQL Server 失败
【发布时间】:2014-02-19 07:33:50
【问题描述】:

我正在使用python 3.3 + pypyodbc。当我尝试时:

connection = pypyodbc.connect("DRIVER{SQLServer};
                               SERVER=serverIP;
                               UID=myid;
                               PWD=mypwd;
                               DATABASE=mydb")

我收到一个错误:

pypyodbc.DatabaseError: ('08001', '[08001] 
                                   [Microsoft]
                                   [ODBC SQL Server Driver]
                                   [DBNETLIB]Invalid connection.')

我知道 IP 和凭据是正确的,我每天都使用它们来使用 Microsoft SQL Server Management Studio Express 查询服务器。我在这里错过了什么?

谢谢。

【问题讨论】:

  • 另一种方法是使用install Microsoft ODBC 驱动程序。然后将DRIVER{SQLServer};替换为DRIVER={ODBC Driver 13 for SQL Server};

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


【解决方案1】:

试试这样的...

import pypyodbc

connection_string ='Driver={SQL Server Native Client 11.0};Server=YOURSERVER;Database=YOURDATABASE;Uid=YOURUSER;Pwd=YOURPASSWORD;'

connection = pypyodbc.connect(connection_string)

SQL = 'SELECT * FROM <YOURTABLE>'

cur = connection.cursor()
cur.execute(SQL)

cur.close()
connection.close()

【讨论】:

  • 这只能在带有Driver={SQL Server Native Client 11.0};的Windows上工作吗?
【解决方案2】:

试试这样的

import pypyodbc
conn = pypyodbc.connect(driver='{SQL Server}', server='servername', database='dbname', uid='userName', pwd='Password')

使用您的凭据更改服务器名称和其他值。 它非常适合我。 如果您使用的是 azure sql 服务器,请确保将您的 IP 添加到防火墙规则中。

【讨论】:

    【解决方案3】:

    连接字符串不正确,谷歌寻找正确的sqlserver的ODBC连接字符串

    【讨论】:

    • 您好 - 我昨天安装了您的软件包,并且能够使用我的 sql-login 来获取数据 - 感谢您为此所做的所有工作。我可以使用 Windows 身份验证通过 pypyodbc 连接到 SQL-Server 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-24
    • 2011-07-26
    • 1970-01-01
    相关资源
    最近更新 更多