我知道以前曾有人问过这个问题,但是我尝试了所有可以在网上找到的建议,但仍然感到困惑。
我有一个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无法连接。我使用的是相同的凭据。
任何建议将不胜感激。
答案 0 :(得分:0)
我放弃了,改用了pyodbc,这似乎行得通。显然,不再支持pymssql,因此无论如何都最好使用pyodbc。