【发布时间】:2013-03-12 19:46:09
【问题描述】:
我们将有大约 200 个文件(csv、excel、PDF、屏幕抓取)都需要进入 SQL 数据库。所以大多数数据源都会有一个独特的过程
到目前为止,我们只有两个想法:
编写代码以根据需要以编程方式加载每个数据源,并编写代码以根据需要插入(这是一种简单的方法,但可能最耗时)
为每个文件编写一个 XML 映射,将列从源映射到目标 SQL DB 的列/表。但是编写代码来解释这个自定义 XML 映射文件会变得复杂吗?
我们应该考虑其他任何工具或方法吗?我虽然也许 SSIS 可以以某种方式提供帮助?这似乎是 BizTalk 的项目类型,对吗?不过太贵了。。
【问题讨论】:
-
所有数据类型的插入代码应该是相同的,所以你只需要将每种类型解析成一个通用的结构。另请注意,Excel 文件可以导出为 CSV,您的某些其他数据类型也可能如此。
-
是的。这也是一个想法。但是所有数据的目的地以不同的方式去不同的地方,所以它不像我有很多数据源只有一个数据目的地
-
那么您需要为每种数据输入类型配备一个解析器,为每种输出类型配备一个编写器,并且某些输入类型可能会自动转换。
-
我并不是说这适用于你,但根据我的经验,人们通常会花费数周时间来尝试找到一种“通用”的方式来导入他们的数据,而他们本可以花费更少的时间来做为每个数据源编写一个转换脚本的工作。尤其是当您拥有非常异构的数据时,通常一开始并不清楚通用解决方案是否可能,因此通常最好使用您喜欢的语言和工具“只做”,并且这样做您将处于更好的位置确定重构常见转换和任务的方法。
-
我倾向于用一种不太优雅的编码方式来实现它。在我做了几次之后,我做了很多剪切和粘贴,而不是自豪地炫耀的代码,但它会是完成与尝试创建一些需要大量时间并最终变得脆弱的解决方案
标签: sql-server ssis dts data-conversion