通过SSIS从多个MySQL数据源导入数据?

时间:2018-08-23 14:40:41

标签: sql-server stored-procedures ssis

我面临一个特别具有挑战性的情况,可以在其中使用一些帮助。

我在一家制造工厂工作,并且正在研究概念证明。 我有一些固定在制造设备上的客户端设备(PI),它们都从设备收集数据并将这些数据本地存储在设备上的嵌入式MySQL数据库中。我想将每个设备的数据导入中央Microsoft SQL数据仓库。我希望这是由服务器从设备中拉出的,而不是从客户端设备中拉出的。

然后,我希望更新/清除设备上的嵌入式数据库,以防止重新发送相同的数据(最初,我在考虑的是表中的日期字段,一旦复制了该记录,我便会为其打上时间戳)。

我的感觉是,将SSIS包带到这里,我在DW的一个表中有PI的IP地址和连接信息,因此想依次连接到每个客户端以导入数据并更新它。

是否可以在SSIS中即时更改连接字符串?还是会有更好的方法来实现这一目标-也许通过DW上的sproc?

我对sproc没问题,但是对SSIS来说是一个新手。如果您有任何可能对您有所帮助的链接/教程/帖子,请分享。谢谢。

编辑:这是我已经拥有的

Execute SQL Task Editor window

这是我的变量:

Variable List 如您所见,尝试在第一步上运行时显示错误。

This is what I already have, showing an error

FWIW,这是进度输出...

SSIS package progress output

2 个答案:

答案 0 :(得分:1)

  

是否可以在SSIS中即时更改连接字符串?

使用变量存储连接字符串,然后使用该变量填充连接字符串的Expression值。然后,当您更改变量的值时,您将更改连接字符串的值。

答案 1 :(得分:1)

不是答案,而是类似的东西。

A)您创建一个表的所有IP地址和连接字符串。
B)SSIS为每个属性创建变量,即变量IPAddress。
C)创建执行SQL任务;设置完整结果集。      还添加结果集:结果名称:0个变量名称行。
D)创建另一个变量行:DataType System.Object。
E)添加Foreach循环容器:ADO:行
                 变量映射:IPAddress
F)创建源连接管理器     表达式从变量开始设置连接
G)添加一个数据流任务并从每个连接中获取数据。