如何将多个访问数据库导入 SQL Server

Posted

技术标签:

【中文标题】如何将多个访问数据库导入 SQL Server【英文标题】:How to import multiple access databases into SQL server 【发布时间】:2016-11-16 03:50:06 【问题描述】:

我有一个名为“Access”的文件夹,其中包含 400 个不同的访问文件。每个都具有相同的结构和 6 个表。我需要将这些导入 Microsoft SQL Server (2014)。由于 Access 数据库中缺乏详细信息,我还需要在每次导入后运行规范化脚本以确保保留表中的关系。

我已经使用了该向导,它工作正常,但如果有一种方法可以自动导入所有文件并为我节省一周的手动导入工作量,我将不胜感激。

【问题讨论】:

【参考方案1】:

我创建了 SSIS 包来执行此类处理。创建一个 Foreach 循环容器,在容器内创建一个数据流任务,将文件从指定的文件夹导入到您的数据库/表中。然后创建一个“文件系统任务”,将文件移动到已完成的文件夹中。然后可以通过 sql 作业安排运行,直到所有文件都被处理/导入。

【讨论】:

这很好用!谢谢您的帮助。原来访问表中有很多异常,所以我需要弄清楚这些,然后弄清楚如何在每次导入后运行脚本【参考方案2】:

谷歌返回了这个:

    INSERT INTO [dbo].[#tblImport]
        Field1,Field2,Field3,Field4
    SELECT 
        [Field1],[Field2],[Field3],[Field4] 
    FROM OPENDATASOURCE_
    ('Microsoft.Jet.OLEDB.4.0','C:\My Database.mdb')...[TableName]

Source

【讨论】:

这不是一次只针对一个文件,一次针对一张桌子吗?该向导可以一次从一个文件中导入所有表,因此比这更快 对不起@kedingt,我误读了这个问题,并认为您正在尝试导入访问表。你可能会发现一些 T-SQL 脚本也可以导入整个数据库。

以上是关于如何将多个访问数据库导入 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

如何将SQL Server中多个表的数据一次性返回到一张EXCEL工作表(Sheet)中

如何轻松将多个 sql 文件导入 MySQL 数据库?

如何将 accdb 数据库从 Access 导入 SQL Server 2019?

我们如何在 C# 中将访问数据库(.mdb)导入 sql server 2008

使用 ColdFusion 将 Access 数据导入 SQL Server

.Net - 访问多个 sql server 组/数据库