【发布时间】:2013-10-17 17:13:19
【问题描述】:
我有一个奇怪的问题,我无法复制和解决。
我使用 Python 中的 pyodbc 库来访问 MS Access 2007 数据库。该脚本基本上只是将 csv 文件导入 Access 以及一些其他技巧。
我正在尝试首先保存一个“礼品标头” - 然后获取用于保存它的自动递增 id (GiftRef) - 并使用此值来保存 1 个或多个关联的“礼品详细信息”。
90% 的时间里,一切都按应有的方式运行。另外 10% 的时间 Access 似乎卡住并反复为 cur.execute("select last(GiftRef) from tblGiftHeader") 返回相同的值。
一旦卡住,它会在脚本执行期间返回此值。它不会在处理特定条目或执行中的任何特定时间发生 - 它似乎完全发生 随意。
我也知道它返回了错误的值 - 换句话说,礼物标题 正在 被保存 - 并且被赋予了新的、唯一的 ID - 但无论出于何种原因,该值都没有被返回调用时正确。
SQL = "insert into tblGiftHeader (PersonID, GiftDate, Initials, Total) VALUES "+ str(header_vals) + ""
cur.execute(SQL)
gift_ref = [s[0] for s in cur.execute("select last(GiftRef) from tblGiftHeader")][0]
cur.commit()
任何想法或见解将不胜感激。
【问题讨论】: