我有4个不同的文本文件,每个文件都有不同的名称,不同的列放在一个文件夹中。我希望将这4个四个文件插入或更新到4个不同的现有表中。那么如何读取动态读取这4个文件并在SSIS中动态地将它们插入到各自的表中。
答案 0 :(得分:0)
嗯,您需要使用数据流任务将数据从平面文件源移动到表格目的地(可能是 OLEDB目的地) 。文件中的列是否以任何方式分隔?例如,使用以下任何一种:(;),(|)或类似的东西?如果是,您可以创建 FlatFileConnectionManager 并将其设置为拆分列。如果没有,您可能需要使用FixedWidth选项来分隔列。要使用OLEDB目标,您需要创建 OLEDB connectionManager 以指向数据库中的表。如果我有关于你想要从中读取数据的文件的更多信息,我可以帮助你更多。
修改强>
嗯,你刚开始说你正在使用4个文件和4个表,所以你可以创建4个具有4个OLEDB目的地的Flat Destination源(每个平面文件各1个)。如果我理解正确,这4个文件可以存在或不存在。因此,如果您知道文件的名称,请将Package Property DelayValidation 更改为true,然后使用示例文本文件创建连接。这样做可以保存文件路径。在我看来,这些表需要存在。现在,当你说:
我想在文件夹中有文件时将所有文本文件加载到每个不同的现有表中。
我知道您可以执行类似操作的唯一方法是使用 SQL Server代理作业在特定时间安排程序包的执行。如果这是你想要的,请告诉我。