Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SSIS中动态获取表名_Sql Server_Ssis - Fatal编程技术网

Sql server 在SSIS中动态获取表名

Sql server 在SSIS中动态获取表名,sql-server,ssis,Sql Server,Ssis,我是SSIS新手,我有以下问题:我在另一台服务器MySQL数据库上有数据,我需要将其导入我们的数据仓库SQL server。源数据是具体的,因为我有一个主表调查,surveyID作为PK,对于每个不同的调查,根据产品,我有不同的表,例如survey_123、survey_456等 我希望根据特定的产品动态加载数据。因此,类似于创建变量@user::survey123的方法是从productID=111的调查中选择surveyID,然后使用以下方法获取特定数据: select * from sur

我是SSIS新手,我有以下问题:我在另一台服务器MySQL数据库上有数据,我需要将其导入我们的数据仓库SQL server。源数据是具体的,因为我有一个主表调查,surveyID作为PK,对于每个不同的调查,根据产品,我有不同的表,例如survey_123、survey_456等

我希望根据特定的产品动态加载数据。因此,类似于创建变量@user::survey123的方法是从productID=111的调查中选择surveyID,然后使用以下方法获取特定数据:

select * from survey_+@user::survey123.
有人知道应该如何用SSIS实现这一点吗?或者,如果你有更好的想法,请随时与我分享


谢谢

为什么每种产品都需要不同的桌子?为什么不能有一个带有列的调查表来确定调查是针对哪个产品的?问题是,在源数据库中,我有标题表调查,而不是基本上无限数量的表,称为survey_123、survey_456、survey_789,其中,最后三个数字表示特定产品标题表中的调查ID。关于不同问题的调查答案的数据位于调查问卷123中。我不确定我是否理解如何使用一个列确定不同产品的调查表来实现这一点。调查表123是否与调查表456具有相同的结构?您的问题将扩展到不仅仅是动态选择正确的表,似乎还需要动态映射它,并设置数据类型。如果现在重新考虑数据库设计还不晚,我建议您这样做,这是关于调查的数据库设计,因此可能会让您开始。动态设置表名时,您可以在OLEDB数据源的查询属性上使用表达式,并使用变量保存表名,但正如Gareth所说,真正的困难在于表之间的列是不同的。您是要将所有这些数据放在目标中的一个表中,还是要像在源中一样将数据保存在目标中的不同表中?