我在这里寻找方向。我需要自动化将几种不同文件类型导入 SQL Server 的过程。它们都是基于文本的文件(没有 excel),但文件的内部格式不同。有些是逗号分隔的,有些是制表符分隔的。它们都包含相同的基本信息(客户姓名、地址、电话等),但有些文件包含附加数据。我只想从每个文件中导入公共数据。因此,一些数据将在一个文件中被跳过,但在另一个文件中,所有数据都需要导入。
我打算使用 SSIS ForEach 循环,但我无法弄清楚如何处理多种文件格式。我在设置如何导入文件的连接字符串上卡住了。有没有人遇到过这个?如果是这样,你能把我推向正确的方向吗?
“几个”是多少?如果是三个或四个,我会先在 SSIS 中编写一个简单的 .NET 脚本,将文件分类到单独的目录中。使用几个 foreach 循环,每个循环都在自己的目录中工作,该目录中的文件具有一致的格式。
如果有很多格式,编写一个解析文件并为后续 BCP 或 SSIS 导入编写单个干净文件的小应用程序可能会更快。
如果所有分隔文件的标题名称相同,则可以在 Foreach 循环容器中使用脚本任务/脚本组件。您可以放置逻辑(通过硬编码标题名称) - 首先检查文件的分隔类型(逗号/制表符等),然后仅从该平面文件中提取您感兴趣的那些列的数据。