【发布时间】:2018-05-22 12:42:46
【问题描述】:
我正在尝试连接到我的数据库,但无法建立连接。这是我的python代码:
def connectToDB():
connection = None
while connection is None:
try:
connection = pyodbc.connect(r'DSN=FootNet;UID=root;PWD=password')
except:
print("\n[DB connector] Error connecting to database. Trying again in 1 sec.")
time.sleep(1)
return connection
我设置DSN如下:
当我点击测试时,连接成功。但我无法在 python 中连接。任何线索可能是什么问题?
任何帮助将不胜感激。
编辑:
我收到以下错误:
pyodbc.Error: ('IM014', '[IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (0) (SQLDriverConnect)')
【问题讨论】:
-
Python 中是否有任何错误消息?
-
没有这种代码,但是如何打印出错误?我只是猜测现在尝试阻止不成功,所以它会打印出我的消息。
-
暂时移除 try-except 块
-
建议:将来,不要只是一般的“连接数据库时出错”。消息,请考虑至少包含一些实际的错误消息,以指示具体问题是什么。当然,出于故障排除的目的,最好使用完整的堆栈跟踪。
-
听起来您已经安装了 64 位版本的 ODBC 驱动程序,并试图从 32 位 Python 中使用它(反之亦然)。
标签: python mysql python-3.x odbc pyodbc