azure (“HYT00”,“[HYT00] [Microsoft][用于SQL Server的ODBC驱动程序17]登录超时已过期(0)(SQLDriverConnect)”)

8ehkhllq  于 2023-03-09  发布在  SQL Server
关注(0)|答案(1)|浏览(565)

我尝试使用OBDC连接到SQL Server。它在本地工作完美,Docker在Docker桌面上本地运行。但是,当我尝试从Azure中容器的Web应用程序连接时,它抛出了一个错误。
错误:root:错误消息:“[SQL Server的ODBC驱动程序17]登录超时已过期(0)(SQLDriverConnect)”)错误:root:错误类型:操作错误

connect_string = f"DRIVER={DATABASE_DRIVER};"
    connect_string += f"SERVER={DATABASE_PROTOCOL}:{DATABASE_SERVER},"
    connect_string += f"{DATABASE_PORT};"
    connect_string += f"DATABASE={DATABASE_NAME};"
    connect_string += f"UID={DATABASE_USER};"
    connect_string += f"PWD={DATABASE_PASSWORD}"
    

    try:
        conn = pyodbc.connect(connect_string)

我试过:

  • 已确保可以访问SQL Server。
  • 已验证登录凭据是否正确
  • 防火墙未阻止该IP地址可用的连接
  • 已增加登录超时值

我也尝试过堆栈溢出中的其他答案,但我仍然无法连接到服务器。

ewm0tg9j

ewm0tg9j1#

我尝试了以下步骤:-

import  pyodbc

conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};''SERVER=tcp:sql-server.database.windows.net,1433;''DATABASE=<DATABASE>; UID=siliconserver;PWD=<Password>;')

#conn.commit()

cursor = conn.cursor()

cursor.execute('Select * FROM StudentReviews')

#conn.commit()

for  i  in  cursor:

print(i)

cursor.close()

conn.close()

输出:-

当我在连接字符串中拼错SQL Server名称时,我得到了与您相同的错误代码,此外,如果您不允许在SQL Server网络中使用Web应用程序的IP地址,连接将超时。请参阅以下内容:-

确保在SQL Server网络选项卡中添加Azure Web应用或Containers应用IP地址,如下所示:-

您可以找到您的Web应用程序和容器应用程序的IP地址如下:-

相关问题