自动化 MDB 到 SQL Server

本文关键字:Server SQL MDB 自动化 | 更新日期: 2023-09-27 18:34:35

我意识到您可以使用 Access 中的升级向导来正常转换它,但由于这是一个服务器端进程,我们每天都从第三方获取 mdb 文件,我必须能够使用无接触架构摄取这些文件。

目前,我即将着手编写所有内容(呃(,其中我通过数据源读取访问数据库,并通过批量插入或实体框架将其打入sql server。 我真的希望有更好的方法来做到这一点。 我愿意接受很多创造性的方法,因为有很多表格和大量的数据。

自动化 MDB 到 SQL Server

我想

到了许多方法,这些方法确实都涉及自定义编程,但实现起来应该相对简单明了。

  1. 从另一个访问数据库,以编程方式(即使用 VBA(打开源数据库。 在源数据库中创建指向 SQL 后端的链接表。 将数据从源数据库复制到链接表(使用 insert dest select * from source (。
  2. OPENDATASETOPENROWSOURCE与 SQL Server 配合使用,直接连接到访问数据库并复制数据。 您可以使用 again insert dest select * from source 复制数据,也可以使用 select * into dest from source 从源数据创建新表。 这涉及调整sql服务器上的一些系统设置,因为它默认情况下未启用,但是一些Google搜索应该可以帮助您入门。
  3. 在 .NET 程序中,使用 SqlBulkCopy(这是用于自动执行bcp的 .NET 类(从 Access 数据库上载数据。 只需直接使用 ADO.Net 处理数据,因为没有理由仅为了将数据从一个源迁移到另一个源而构建整个 EF 层。

我在各种项目中使用了上述所有三种方法的变体,但是对于移动大量表,我发现选项 #2 相对有效。 如果您的表名每天都是动态的,它将涉及一些动态 SQL 代码,但如果它们是静态的,则只需编写一次逻辑并使用参数作为文件名

的读取。