将文本文件导入Access中的链接SQL Server表

时间:2013-06-26 08:32:15

标签: sql-server ms-access import text-files

我有一个Access(2010)数据库(前端),带有链接的SQL Server表(后端)。我需要将文本文件导入这些表。这些文本文件非常大(一些有超过200,000条记录,大约20个字段)

问题是我无法直接在SQL表中导入tex文件。有些文件在开头包含空行,有些其他行我不想在表中导入。 所以这就是我在Access数据库中所做的:

1)我创建了一个指向文本文件的链接。

2)我还有一个指向SQL Server表的链接

3a)我创建了一个Append-query,它将链接文本文件中的记录复制到链接的SQLServer表中。

3b)我创建了一个打开两个表的VBA代码,并从SQL Server表中的文本文件中复制记录,记录以备记录。 (我用不同的方式尝试过:使用DAO和ADODB)。

[步骤3a和3b是我尝试导入数据的两种不同方式。我使用其中一个,而不是两个。我更喜欢选项3b,因为我可以在状态栏中运行一个计数器来查看需要随时导入的记录数量;我可以看到他有多远。]

问题在于它需要花费大量时间来运行它...我的意思是很多时间:一个70,000条记录和20个字段的文件需要3个小时! 当我使用Access-table(从TXT到Access)执行相同操作时,速度要快得多。

我有15个这样的表(记录更多),我需要每天进行这些导入。我每天晚上(20:00到6:00之间)自动运行此程序。

有更简单的方法吗? 这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

SSIS来说,这对我来说是个好例子。

您可以创建从平面文件(作为数据源)到SQL DB(作为目标)的数据流。

您可以在其间添加一些验证或选择步骤。

您可以在线轻松找到this one等教程。

或者,您可以执行Gord提到的操作,并将数据从文本文件导入到本地Access表中,然后使用单个INSERT INTO LinkedTable SELECT * FROM LocalTable将数据复制到SQL Server表