在 Access DB 上执行 sql 脚本

Posted

技术标签:

【中文标题】在 Access DB 上执行 sql 脚本【英文标题】:Excuting sql sripts on a Access DB 【发布时间】:2009-05-14 14:35:03 【问题描述】:

我有一个包含数百个 sql 查询的脚本,我需要在 Access DB 上执行这些查询。由于在 Access 中执行 sql 查询是 IMO 退出尴尬,您一次只能执行一个并且不识别以“--”开头的注释行,我想知道是否存在一种更简单的方法来做到这一点。 MS Access 是否有更好的替代方法来管理 Access 数据库?

【问题讨论】:

【参考方案1】:

我建议编写一个应用程序或 PowerShell 脚本来从文件中读取查询并针对 Access 数据库执行。逐行阅读,忽略以注释分隔符开头的行。

【讨论】:

【参考方案2】:

两个不错的选择:

选项 1:编写一个 C# 程序,该程序将使用 DAO 库来自动化 Access 并以编程方式执行语句。

dao.DBEngineClass dbengine = new dao.DBEngineClass();
dbengine.OpenDatabase(path, null, null, null);
dao.Database database = dbengine.Workspaces[0].Databases[0];
database.Execute(sql, null);

选项 2:在数据库中编写一个 VBA 模块,该模块将使用 CurrentProject.Connection.Execute() 方法执行相同的操作。

在任何一种情况下,您都可以将此代码放在一个循环中,该循环读取您的语句并逐个执行它们。

【讨论】:

【参考方案3】:

如何设置从 MS-SQL 数据库到 access 数据库的链接并通过 MS-SQL 运行脚本?假设您没有更改表结构,您应该没问题。

【讨论】:

以上是关于在 Access DB 上执行 sql 脚本的主要内容,如果未能解决你的问题,请参考以下文章

informix上如何执行*.sql脚本

LINUX下shell脚本如何执行 sql脚本 到DB2数据库?

从 Access 前端执行 SQL 数据库备份

如何在oracle中执行db脚本并输出日志文件

如何从 ksh 脚本执行 Derby DB 的 SQL 脚本

mysql命令行工具如何执行脚本文件?