我想用Python在Windows中創建一個mdb數據庫文件,但似乎無法用Python文檔弄清楚。我讀到的所有內容都與建立連接以及如何處理光標有關。如何在Python中創建一個mdb數據庫文件?
有什麼想法?謝謝...
我想用Python在Windows中創建一個mdb數據庫文件,但似乎無法用Python文檔弄清楚。我讀到的所有內容都與建立連接以及如何處理光標有關。如何在Python中創建一個mdb數據庫文件?
有什麼想法?謝謝...
我對comtypes
模塊的使用經驗相當不錯。您可能希望爲所使用的方法提供Access DAO/ADO/VBA引用,但由於comtypes
模塊動態生成COM庫包裝,因此沒有內置文檔。
下面是它如何工作的簡要示例。 (來吧,測試一下自己。)
from comtypes.client import CreateObject
access = CreateObject('Access.Application')
from comtypes.gen import Access
DBEngine = access.DBEngine
db = DBEngine.CreateDatabase('test.mdb', Access.DB_LANG_GENERAL)
# For me, test.mdb was created in my My Documents folder when I ran the script
db.BeginTrans()
db.Execute("CREATE TABLE test (ID Text, numapples Integer)")
db.Execute("INSERT INTO test VALUES ('ABC', 3)")
db.CommitTrans()
db.Close()
(移動第二import語句的CreateObject
線,其中用於類型庫的Python包裝模塊以前不存在的情況後。)
如果你可以創建一個DBEngine變量,那麼你也可以使用所有的DAO表,字段,索引和關係對象。這些給你更多的創建對象的詳細控制。請參閱我網站上的TempTables.MDB頁面,其中說明了如何在您的應用程序中使用臨時MDB。 http://www.granite.ab.ca/access/temptables.htm – 2010-06-24 03:25:50
對不起,這是如此的新,但我安裝了comtypes並試圖運行代碼,但後來我得到了以下異常:「ImportError:can not導入名稱訪問「。有任何想法嗎? – GuidoS 2010-06-24 13:19:10
@Tony Toews:是的,呃,這可能是因爲我沒有真正將數據插入到我以這種方式創建的表中,但是當我創建一個表並使用DAO添加一個字段時,它沒有顯示之後我在Access中打開數據庫時會遇到問題,因爲這只是作爲使用'comtypes'創建MDB文件的一個例子,所以我不想花費更多時間來解決它。 – JAB 2010-06-24 14:38:03
通過MDB數據庫,你的意思是一個Microsoft Access數據庫? – mikej 2010-06-22 15:24:10
是的,一個Access數據庫 – GuidoS 2010-06-22 20:27:48
用一個例子更新了我的答案。 – JAB 2010-06-23 15:38:41