我目前正在处理一个需要创建的夜间导入,但不确定更新/插入到当前表的最佳路径是什么。这都是在MS SQL server 2012中完成的,并从另一台服务器中提取Excel文件。我试图弄清楚如何循环遍历列并提取我所需的数据。如果我能重新整理数据,我会的,但我现在仍然坚持我所拥有的。
在当前的表tblHW中,我有列,如PmpCount、NumberStages、Pmpmodel_pmp1、serialnum_Pmp1、pmpModel_pmp2、Pmpmodel_pmp2、serialnum_pmp2、partnum_motor1、serialnumberMotor1等。我对未能贴出一张真正的桌子或照片表示歉意。
示例:
|Name | PmpCount| numstages| pmpmodel_pmp1| stages_pmp1| Sn_pmp1|
|AN 91-23G | 4| 500| FX2347| 250| 354197|
|BR DN 895R| 5| 521| D2442| 45| 875164|
|ALN 1-60J | 5| 521| H21342| 95| 594126|
|pmpmodel_pmp2| stages_pmp2| sn_pmp2| Partnum_mtr1| sn_mtr1|
|FX2347 | 250| 354198| NULL| NULL|
|FX17500 | 143| 102547| M7544| 4512241|
|FX17500 | 143| 458790| M7544| 4512364|
我想要进入tblHW的信息来自tbl Pull_Down。下面是设置:
|Name | Run_ID | Part1| SN1 | Attribute1_7|
|AN 21-919G| Oct 08, 2013 / 100845| BOD| NA| 3RD U|
|FR 55-013A| Oct 17, 2013 / 100853| Pmp| 2EA3A022| 78|
|FR 55-013A| Oct 01, 2014 / 101383| Cbl| N/A| REDALEAD|
|FR 43-223J| Apr 03, 2013 / 100594| BOD| NA| 3RD U|
|VH 204 | May 17, 2014 / 101145| BOD| 3RD U|
|Part2| SN2 | Attribute2_7| Part3 | SN3 | Attribute3_7|
|Pmp | 2EA3F379| 78| Pmp| 2EA3N380| 117|
|Pmp | 2EA3C020| 117| Pmp| 2EA3Y021| 117|
|MLE | J14312161| 120| BOD| N/A| 3RD U|
|Other| NA| Pmp| 2EA2X774| 78|
|BOD | NULL| Pmp| 2EA4F075| 38|
更多的信息。我收到这一信息的形式是五个excel电子表格,每一列超过400列。最让我头疼的是我需要放置到SQL表中的20个部分列。
我需要将每一行移动到tblHW中,但需要这样做:
第一行A21-919G需要将SN1插入到sn_mtr1中,因为它是一个BOD,SN2需要插入到SN_pmp1中,因为它是PMP,而SN3需要插入到sn_pmp2中,因为它是这里的第二个PMP。我还需要获得PMP计数,在本例中是2,然后添加attribute1_7和attribute2_7,以便在put是pmp时放入数字阶段。
发布于 2015-08-24 19:57:06
这种情况是SSIS存在的全部目的: Integration!
第一个问题是,为什么您需要的数据在Excel中,如果有更直接的路由,您可以利用它作为链接服务器(如果源是另一个RDBMS)。
根据您提供的信息,我们做出以下假设:( A)我们对源输出没有控制,我们必须从Excel中导入数据。( B)文件总是有一致的列(可能是由自动化过程创建的)。
在SSIS中,您可以轻松地为Excel文件创建源连接。如果Excel文件名是动态的,则可以在导入数据之前创建一个脚本来修改该连接的连接字符串。然后设置到Server的目标连接。最后一步是创建数据流任务,您可以在其中将源映射到目标列。
示例:
https://stackoverflow.com/questions/31883311
复制相似问题