sqlalchemy-access:表已经存在



更新:我尝试从另一台使用早期版本sqlalchemy-access(1.1.2而不是1.1.3)的计算机运行脚本,脚本工作。当我在给出错误的计算机上安装1.1.2时,我得到

NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:access.pyodbc

两台计算机正在更新相同的访问表(保存在网络驱动器上)。


我正在使用数据帧(all_results_df)更新现有的MS Access表:

cnn_str = r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:dataMyData.accdb;'
cnn_url = f"access+pyodbc:///?odbc_connect={urllib.parse.quote_plus(cnn_str)}"
acc_engine = create_engine(cnn_url)
all_results_df.to_sql('results', acc_engine, if_exists='append')

,得到以下错误:

ProgrammingError: ('42S01', "[42S01] [Microsoft][ODBC Microsoft Access Driver] Table 'results'已经存在。(-1303) (SQLExecDirectW)")

为什么不直接将新数据附加到现有表中呢?

最终,更新ms-access解决了这个问题。

最新更新