关于要检查的两个想法:
1)您的连接字符串错误.有一种方法可以直接从ODBC Administrator程序获取已知良好的连接字符串(取自http://www.visokio.com/kb/db/dsn-less-odbc).这些说明假设您正在使用MDB,但相同的过程将适用于paradox文件
>在典型的客户端PC上,打开控制面板 – >管理工具 – >数据源.
>选择“文件DSN”选项卡,然后单击“添加”.
>选择适当的驱动程序(例如“Microsoft Access Driver(* .mdb)”),然后单击“下一步”
>单击“浏览”并选择要保存.dsn文件的位置(这是您稍后要删除的临时文件).
>单击下一步然后单击完成
>您将看到特定于供应商的ODBC设置对话框.例如,使用Microsoft Access,您可能只需要单击“选择”并浏览到现有的.mdb文件,然后单击“确定”.
>浏览到.dsn文件的位置并使用记事本打开.
在DSN文件中,您可能会看到类似于:
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=MS Access
DriverId=25
DefaultDir=C:\
DBQ=C:\db1.mdb
要将上面的内容转换为完整的连接strring:
>省略第一个[ODBC]行
>在包含空格的所有值周围放置花括号
>将所有名称=值对放在一行上,用分号分隔.
这为您提供了完整的连接字符串.在此示例中,字符串变为:
DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;axScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\;DBQ=C:\db1.mdb
2)32/64位不匹配.将32位python与64位驱动程序混合使用时遇到了麻烦,反之亦然.您可能需要检查Python解释器和数据库驱动程序行.