python连接access2007_使用Python / pyodbc插入Access DB
我正在嘗試使用
Python / pyodbc將一些csv數據插入到Access 2007數據庫中.我在Access中測試了一個工作追加查詢,它選擇了標題和一行值.
INSERT INTO AssetDetails ( [Reporting Account Number], [As Of Date], [Asset Type], [Security Description 1], [Shares/Par], [Base Price], [Base Cost], CUSIP, Ticker, ISIN, SEDOL )
VALUES ("ABCD99020002", "1/31/2010", "CASH & CASH EQUIVALENTS", "INTEREST RECEIVABLE", "0.000", "1.00", "1,171,069.04", "", "", "", "");
在pyodbc中運行此查詢會產生:
ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Microsoft Access Driver] Invalid bracketing of name '[0.000]'. (-1002) (SQLExecDirectW)")
為了解決這個問題,我認為有可能是引起麻煩的數字周圍的引號.我轉到了以下查詢:
SQL = '''INSERT INTO AssetDetails([Reporting Account Number], [As Of Date], [Asset Type], [Security Description 1], [Shares/Par], [Base Price], [Base Cost], CUSIP, Ticker, ISIN, SEDOL) VALUES ("AKPF99020002", "1/31/2010", "CASH & CASH EQUIVALENTS", "INTEREST RECEIVABLE", 0.00, 1.00, 1171069.04, "", "", "", "");'''
當我在它上面時,我不妨刪除1171069.04號碼上每3個數字之間的逗號.這給出了一個錯誤
Error: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 5. (-3010) (SQLExecDirectW)')
我做了一些挖掘,看起來當引用不存在的列時會發生此錯誤.也許這表明列格式不好?所以我把事情簡化為一個非常簡單的查詢,看看是否可以將任何東西插入到我的Access表中,只有一個字段(不需要任何字段).
cur.execute('INSERT INTO AssetDetails("SEDOL") VALUES ("123412")')
這也產生了
Error: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. (-3010) (SQLExecDirectW)')
我也試過上面沒有SEDOL周圍的引號,或括號……
我慢慢瘋了……任何想法?
總結
以上是生活随笔為你收集整理的python连接access2007_使用Python / pyodbc插入Access DB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2827):运算或者表达式
- 下一篇: 工作288:跨组件传值