我正在尝试在 Python 中创建一个 Access 数据库并向其中添加两个新表。我正在使用 win32com 并设法创建了数据库,但无法创建表。我得到的只是无用的 Windows 错误。谁能帮我?
以下代码工作正常:
dbname = r'C:/Users/Guest/Desktop/NewDB.mdb'
db = Dispatch("Access.Application")
dbEngine = db.DBEngine
workspace = dbEngine.Workspaces(0)
dbLangGeneral = ';LANGID=0x0409;CP=1252;COUNTRY=0'
newdb = workspace.CreateDatabase(dbname, dbLangGeneral, 64)
如何向该数据库添加新表?
原文由 WRJ 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于 MS Access 既是 GUI .exe 应用程序又是后端数据库,因此创建数据库与创建数据库对象(如 _表_、 _视图_(即存储的查询)甚至 _过程)是不同的过程_。
作为比较,另一个文件级 RDMS,SQLite,必须打开它的 .exe shell
CREATE DATABASE
。而服务器级别的 RDMS(SQL Server、MySQL、Postgres)必须登录到服务器实例才能运行命令。 MS Access 没有外壳或实例设施,只有一个应用程序对象。因此,在使用 CreateDatabase 方法创建数据库后,考虑运行 DDL SQL 语句到
CREATE TABLE
您可以使用 Execute() 方法来完成。Python COM 接口
Python 数据库 API
虽然
CREATE DATABASE
在 MS Access SQL 中不可用,但您可以运行上面的Execute
使用任何带有CREATE TABLE
的 Python ODBC API 仅在创建数据库文件后运行: