Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python(Windows)中的SQL Connect错误:严重性9:\n适配器服务器连接失败_Python_Sql_Database_Azure - Fatal编程技术网

Python(Windows)中的SQL Connect错误:严重性9:\n适配器服务器连接失败

Python(Windows)中的SQL Connect错误:严重性9:\n适配器服务器连接失败,python,sql,database,azure,Python,Sql,Database,Azure,无法连接到Azure DB。我在通过Python连接时遇到以下错误 我能够连接到常用的SQL环境 import pandas as pd import pymssql connPDW = pymssql.connect(host=r'dwprd01.database.windows.net', user=r'internal\admaaron',password='',database='') connPDW.autocommit(True) cursor = connPDW.cursor()

无法连接到Azure DB。我在通过Python连接时遇到以下错误

我能够连接到常用的SQL环境

import pandas as pd
import pymssql
connPDW = pymssql.connect(host=r'dwprd01.database.windows.net', user=r'internal\admaaron',password='',database='')
connPDW.autocommit(True)
cursor = connPDW.cursor() 

conn.autocommit(True)
cursor = conn.cursor()


sql = """

select Top (10) * from TableName

"""
cursor.execute(sql);

运行时无错误。

仅根据您的代码,存在一个明显的问题,即通过Python中的
pymssql
包连接Azure SQL数据库,该包使用不正确的用户格式,并且缺少
密码
数据库
参数的值

请仔细阅读官方文档以正确更改代码

如果您有一个连接字符串为ODBC的Azure SQL数据库实例,例如
Driver={ODBC Driver 13 for SQL Server};服务器=tcp:。数据库.windows.net,1433;数据库=;Uid=@;Pwd=;加密=是;TrustServerCertificate=否;连接超时=30显示在Azure portal上SQL数据库的
连接字符串
选项卡中

那么,您的代码应该如下所示

hostname = '<your hostname>'
server = f"{hostname}.database.windows.net"
username = '<your username>'
user = f"{username}@{hostname}"
password = '<your password>'
database = '<your database name>'

import pymssql
conn = pymssql.connect(server=server, user=user, password=password, database=database)
hostname=''
服务器=f“{hostname}.database.windows.net”
用户名=“”
user=f“{username}@{hostname}”
密码=“”
数据库=“”
导入pymssql
conn=pymssql.connect(服务器=服务器,用户=用户,密码=密码,数据库=数据库)
同时,Azure SQL数据库和MS SQL Server版本的附加说明是
2008+
与最新的Azure SQL数据库一样,您应该使用ODBC驱动程序连接字符串,该字符串以
Driver={ODBC Driver 17 for SQL Server}开头,而不是Azure portal的连接字符串中显示的
13
。如果将Python的ODBC驱动程序与
pyodbc
一起使用,请参阅官方文档