我知道SSIS存在,可能有脚本可以做我描述的内容吗?
我已经编写了C#程序,它读取XML(下面的代码片段),并映射和生成密钥生成,但只是想到是否所有 - 另一个轮子重新发明。
<Tables>
<Table inTbl="A" outTbl="B">
<Keys>
<Key name="it_pk" type="GUID">
</Keys>
<Mappings>
<Column inCol="hxkey" outCol="it_tariff" />
<Column inCol="txt" outCol="it_description" />
<Column inCol="uq1" outCol="it_uq1" />
<Column inCol="date1" outCol="it_startdate" />
<Column inCol="date2" outCol="it_stopdate" />
</Mappings>
</Table>
</Tables>
答案 0 :(得分:1)
这几乎就是SSIS的设计目标,但它并不像您当前的系统那样“通用”,但设置您所描述的内容非常容易。
您有控制流和数据流。您的控制流可以包含许多数据流(例如同步表A,然后是B,然后是C)和其他任务(例如移动文件,迭代,自定义脚本)。
在数据流中,您可以定义源,目标和转换。你的来源几乎可以是任何东西。然后,您可以执行派生列并更改数据类型转换以执行您所描述的操作。然后您的目标获取转换后的数据(例如SQL表,SQL插入语句,SQL更新语句)
这是使用Visual Studio完成的,我想你可以在5分钟内敲出一个简单的包以同步两个表。然后,您可以使用SQL代理安排它。
如果您想评估其他选项,这称为ETL btw(提取,转换,加载),但我认为SSIS很适合。
答案 1 :(得分:0)
除了上面的优秀答案之外,即使Visual Studio包设计器工具不合适,SSIS也是在这个空间实现编程解决方案的良好平台。
实际上,该平台比基于它构建的Visual Studio工具更灵活,更完善。