我正在设置一个 python 脚本来连接到 azure 云数据库的实例,并发现使用 IDLE 时的连接与尝试从脚本执行连接时的连接有所不同。例如,当我在 IDLE 中执行以下操作时:
>>> import pyodbc
>>> conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<my.database.host.info>,1433', user='<my_username@mydatabase', password='password', database='database')
我能够成功连接并针对数据库中的一个表执行基本查询。
但是,当我在脚本中使用相同的连接字符串(从 IDLE 控制台复制)时,出现以下错误:
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
最佳答案
通常是因为32/64位版本的python环境和odbc驱动不匹配而引发该问题。
您可以检查用于运行脚本的python版本和odbc驱动程序版本。您必须设法将它们都更改为 32 位(或都为 64 位)才能使其正常工作。
可以从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyodbc获取指定版本的pyodbc扩展.
关于python - 我应该如何使用 pyodbc 配置与 MS Azure 云数据库的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879288/