无法使用 pyodbc 库连接到 Azure 数据库

Posted

技术标签:

【中文标题】无法使用 pyodbc 库连接到 Azure 数据库【英文标题】:Not able to connect to azure database using pyodbc library 【发布时间】:2022-01-18 14:34:23 【问题描述】:

我无法使用 pyodbc 库在 python 中连接到我的 azure 数据库。

当我以以下格式传递连接字符串时:

*

cnxn = pyodbc.connect(
    'DRIVER=SQL Server;'
    'SERVER= servername;'
    'DATABASE=dbname;'
    'username=username;'
    'password=password'
)

我收到以下错误:

第 4 行,在 cnxn = pyodbc.connect( pyodbc.OperationalError: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或拒绝访问。

当我以以下格式传递连接字符串时:

*

cnxn = pyodbc.connect(
    driver = 'SQL Server',
    server = 'servername',
    database = 'dbname',
    username = 'username',
    password = 'password'
)

我收到以下错误:

第 4 行,在 cnxn = pyodbc.connect( pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]用户登录失败

【问题讨论】:

【参考方案1】:

为了给您完整的答案,请添加尝试从哪里连接到服务器:您的计算机?服务器?

你确定你的 IP 被列入白名单了吗?

您是否使用 SSMS(sql server management studio)绑定到数据库,所以您确定这不是用户/密码问题?

如果您在 Windows 基础计算机上尝试,一个可能的解决方案是 安装 ODBC Driver 13&17 然后更改您的代码:

 driver = 'ODBC Driver 17 for SQL Server'

【讨论】:

感谢您的回答。数据库正在使用使用的用户和密码处理 SSMS。 但是,我安装了 ODBC Driver 17 并在 Driver 中指定了它,现在它给出了如下错误:cnxn = pyodbc.connect( pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user ''. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute (0); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user ''. (18456); [28000] [Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute (0)") 你也安装了odbc驱动13吗? 也尝试添加 Trusted_Connection='Yes' 13 没有安装,因为 17 ODBC 驱动程序在那里,我尝试使用trusted_connected = 'Yes' 和 'No' 两者,给我登录失败错误。【参考方案2】:

下面是连接字符串的正确格式:

cnxn = pyodbc.connect(
    'DRIVER=SQL Server;'
    'SERVER= servername;'
    'DATABASE=dbname;'
    'UID=username;'
    'PWD=password'
)

【讨论】:

以上是关于无法使用 pyodbc 库连接到 Azure 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如果 SQL Server 是 MS 2012,则从 Pyodbc 连接到 SQL 14 Azure db

使用 Dask 库连接到 Impala DB

无法使用 Java SocketFactory 库连接到 Cloud SQL

无法使用用于 memcached 的 Membase 客户端库连接到 AWS ElastiCache 集群

无法使用 python 3 websocket 库连接到远程安全 web socket服务器

如何使用 sapnwrfc 库连接到 SAP?