Pymssql无法连接到Amazon Linux 2上的Azure SQL Server

时间:2019-12-05 11:57:09

标签: sql-server azure amazon-ec2 database-connection pymssql

我知道以前曾有人问过这个问题,但是我尝试了所有可以在网上找到的建议,但仍然感到困惑。

我有一个python(3.7)脚本,该脚本使用pymssql(2.1.4)与Azure SQL Server进行通信。这在我的本地macOS机器上可以正常工作。当我尝试将其部署到运行Amazon Linux 2的EC2计算机上时,麻烦就来了。当我尝试连接时,我得到:

    env_var = os.environ[str(i) + 'nl']
    os.system("ssh BF-c{} 'hostname; free -h; uname -a;'".format(env_var))

这是FreeTDS日志所说的:

self.conn = pymssql.connect(server=DBHelper.server, user=DBHelper.user, password=DBHelper.password, database=DBHelper.db)
  File "src/pymssql.pyx", line 642, in pymssql.connect
pymssql.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (myservername.database.windows.net:1433)\n')

问题是,我可以使用命令行工具tsql登录并运行查询。只是从python无法连接。我使用的是相同的凭据。

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我放弃了,改用了pyodbc,这似乎行得通。显然,不再支持pymssql,因此无论如何都最好使用pyodbc。