【发布时间】:2025-12-24 21:50:06
【问题描述】:
我有一个带有链接 SQL Server 表(后端)的 Access (2010) 数据库(前端)。我需要将文本文件导入这些表中。这些文本文件非常大(有些有超过 200.000 条记录和大约 20 个字段)
问题是我不能直接在 SQL 表中导入文本文件。一些文件在开头包含空行,还有一些我不想在表中导入的其他行。 所以这是我在 Access 数据库中所做的:
1)我创建了一个指向文本文件的链接。
2)我还有一个指向 SQL Server 表的链接
3a)我创建了一个追加查询,它将记录从链接的文本文件复制到链接的 SQLServer 表。
3b) 我创建了一个 VBA 代码,它可以打开两个表,并从 SQL Server 表中的文本文件中复制记录,逐条记录。 (我尝试了不同的方式:使用 DAO 和 ADODB)。
[步骤 3a 和 3b 是我尝试导入数据的两种不同方式。我使用其中之一,而不是两者。我更喜欢选项 3b,因为我可以在状态栏中运行一个计数器来查看随时需要导入多少条记录;我可以看到他有多远。]
问题是运行它需要很多时间......我的意思是很多时间:一个包含 70.000 条记录和 20 个字段的文件需要 3 个小时! 当我对 Access 表(从 TXT 到 Access)执行相同操作时,它会快得多。
我有 15 个这样的表(记录更多),我需要每天进行这些导入。我每天晚上(20:00 到 6:00 之间)自动运行此程序。
有没有更简单的方法来做到这一点? 最好的方法是什么?
【问题讨论】:
-
是否可以选择使用 SSIS?
-
您是否尝试过将文本文件中的数据导入到本地 Access 表中,然后使用单个
INSERT INTO LinkedTable SELECT * FROM LocalTable将数据复制到 SQL Server 表中? -
如果它回答了你的问题,你总是可以接受答案:)
标签: sql-server ms-access import text-files