我使用pypyodbc模塊創建數據庫並在其中添加一個表。使用Access ODBC使用DECIMAL列的CREATE TABLE
我使用的代碼如下:
import pypyodbc
pypyodbc.win_create_mdb('D:\\test.mdb')
connection_string = 'Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\test.mdb'
connection = pypyodbc.connect(connection_string)
SQL = "CREATE TABLE [test] ([FID] INT,[AREA] FLOAT,[CODE] VARCHAR(10),[X_CO] DECIMAL(10,3));"
connection.cursor().execute(SQL)
connection.commit()
connection.close()
上面的代碼創建數據庫,但是當它來創建表會產生錯誤。錯誤是:
ProgrammingError: (u'42000', u'[42000] [Microsoft] [ODBC Microsoft Access Driver] Syntax error in defining field.
從搜索,我發現這個問題是小數類型的最後一個字段的網頁,當我從查詢中刪除它,它創建表。
我也嘗試在Access中更改選項以使數據庫與ANSI 92兼容,當我這樣做時,表可以從Access內部創建。
因爲這個過程必須完成數百個數據庫,我想在python循環中做到這一點,但要做到這一點,創建數據庫和表必須從上面的代碼完成。
我在語法中缺少什麼? 有誰知道這是否是模塊的問題?
謝謝你。它如你所說的那樣工作! – Panos