【发布时间】:2016-07-14 20:01:45
【问题描述】:
我在一个目录中有多个 .csv 文件。
我创建了一个 ForEach 循环容器,它将循环遍历目录中的每个文件。
问题是我有一个插入 csv 到数据库中,并且目标数据库表由 SSIS var tblName 定义,在 foreach 容器启动并用文件路径字符串填充 var CurrentFile 之前它为空。 出现问题是因为未声明此 var,因此 OLDBC 连接在查找具有空标题的表时将无法工作。 在与数据库建立连接之前,有什么方法可以强制 for each 循环开始?
【问题讨论】:
-
是将每个 CSV 文件的内容导入到同一个数据库表中,还是尝试将每个 CSV 文件导入到多个数据库表中,每个表的名称与源 CSV 文件的名称相似?
-
您还可以尝试在每次循环时动态更改 OLE DB 连接管理器的连接字符串值。即,首先为 tblName 变量定义一个非 NULL 的实际值。然后在连接管理器下的 ConnectionSring 表达式中应用它。在表达式中,您将使用 tblName 变量替换目录值。这样,连接管理器的目录表名称会随着 tblName 的值随着循环的每次通过而变化而动态变化。
标签: ssis