SSIS 动态连接到源和目标。
SSIS dynamic connection to the source and destination.
您好,我想创建 1 个 SSIS 包,将 excel 文件加载到客户数据库中。
我有 100 个客户数据库,我还有 evrey new week 100 excel 文件
(所有数据库和文件都具有相同的结构)数据库的名称是 CustomerName,excel 文件名是 CustomerName_date。
我想创建每周 运行 一次的作业,使用 ssis packge 将文件夹中的所有 excel 文件加载到客户数据库,并将文件传输到存档文件夹。
最好的原因是与源和目标的动态连接。
这个任务可以使用变量和表达式来完成。
最困难的部分是为 OLE DB 连接创建有效的连接字符串。
1) 要处理文件夹中的每个文件,请使用 Foreach 循环。
- 在Collection选项卡中循环编辑window,select"Foreach File Enumerator"
- Select 您的文件夹,使用通配符过滤掉 Excel 个文件(如果需要)并选择 完全限定名称
- 创建用于存储文件路径的变量,并在选项卡 变量映射 select 中创建此变量。 (在每次循环中,新的文件路径将保存在这个变量中)。
2) 根据您的 excel 文件之一创建新的 Excel 文件连接,right-click 它并在表达式中创建表达式用于连接字符串。在表达式编辑器中,将其设置为使用你的文件变量。
3) 然后我们需要为 OLE DB 连接创建连接字符串。
- 创建新变量来保存它。
- 创建 OLE DB 连接 并将其连接到您的任何数据库。
- 然后right-click您的连接并在其他地方备份连接字符串,以便您将来可以使用它。
4) 在 foreach 循环中,创建脚本任务。
- 在脚本任务编辑器中,选择ReadOnlyVariables(您的文件名)和ReadWriteVariables(您准备的连接字符串)
- 单击编辑脚本并在新的 VisualStudio Window 中创建脚本。
变量可以这样读写:
string myValue = (string)Dts.Variables["User::"].Value;
您可以从 fileName 变量中解析 excel 名称并为 OLE DB 创建新的连接字符串以匹配先前保存的连接字符串。
5) 编辑 OLE DB 连接表达式并将连接字符串与变量匹配。
6) 在 foreach 循环中,创建 数据流任务 和 double-click 它。使用 Excel source 并使其使用您的 Excel 连接。然后创建 OLE DB 目标 并使其使用您的 OLE DB 连接。
使用此答案作为建议,可能需要 soma 试用才能起作用。但根据我的经验,这种方法应该有效。
您好,我想创建 1 个 SSIS 包,将 excel 文件加载到客户数据库中。
我有 100 个客户数据库,我还有 evrey new week 100 excel 文件 (所有数据库和文件都具有相同的结构)数据库的名称是 CustomerName,excel 文件名是 CustomerName_date。
我想创建每周 运行 一次的作业,使用 ssis packge 将文件夹中的所有 excel 文件加载到客户数据库,并将文件传输到存档文件夹。
最好的原因是与源和目标的动态连接。
这个任务可以使用变量和表达式来完成。 最困难的部分是为 OLE DB 连接创建有效的连接字符串。
1) 要处理文件夹中的每个文件,请使用 Foreach 循环。
- 在Collection选项卡中循环编辑window,select"Foreach File Enumerator"
- Select 您的文件夹,使用通配符过滤掉 Excel 个文件(如果需要)并选择 完全限定名称
- 创建用于存储文件路径的变量,并在选项卡 变量映射 select 中创建此变量。 (在每次循环中,新的文件路径将保存在这个变量中)。
2) 根据您的 excel 文件之一创建新的 Excel 文件连接,right-click 它并在表达式中创建表达式用于连接字符串。在表达式编辑器中,将其设置为使用你的文件变量。
3) 然后我们需要为 OLE DB 连接创建连接字符串。
- 创建新变量来保存它。
- 创建 OLE DB 连接 并将其连接到您的任何数据库。
- 然后right-click您的连接并在其他地方备份连接字符串,以便您将来可以使用它。
4) 在 foreach 循环中,创建脚本任务。
- 在脚本任务编辑器中,选择ReadOnlyVariables(您的文件名)和ReadWriteVariables(您准备的连接字符串)
- 单击编辑脚本并在新的 VisualStudio Window 中创建脚本。
变量可以这样读写:
string myValue = (string)Dts.Variables["User::"].Value;
您可以从 fileName 变量中解析 excel 名称并为 OLE DB 创建新的连接字符串以匹配先前保存的连接字符串。
5) 编辑 OLE DB 连接表达式并将连接字符串与变量匹配。
6) 在 foreach 循环中,创建 数据流任务 和 double-click 它。使用 Excel source 并使其使用您的 Excel 连接。然后创建 OLE DB 目标 并使其使用您的 OLE DB 连接。
使用此答案作为建议,可能需要 soma 试用才能起作用。但根据我的经验,这种方法应该有效。