我有一个Unix Shell脚本,它使用'awk'命令逐行处理平面文件并更新Oracle数据库表。它通过为每一行打印一个Update命令并将其管道到一个文件来实现这一点 -
/usr/xpg4/bin/awk 'BEGIN{FS="|"; cnt=0;} {print "update Employee set hours=hours+"$6*(1)"
where ID="$3" and LastName="$4";"; cnt=cnt+1; if(cnt%100==0) print "commit;"; }'
$DATA_PATH/$DATETIME/$filename | sed s/@/\'/g > $SYNC_PATH//$DATETIME/$filename
然后使用SQLPLUS运行该文件,如下所示 -
$ ORACLE_HOME / bin / sqlplus admin / pass @ word1 @ $ SYNC_PATH / $ DATETIME / $ filename
更新:我正在将所有这些迁移到Windows Server 2012 \ Sql Server 2012 \ SSIS环境。
我想将此过程转换为SSIS包。我有两个选择 -
哪一个是更好的选择?在两个操作完成后,目标表中的数据相同,这两个方法在功能上是否相同。