2011-03-25 43 views
0

通用数据导入模块:
我正在将数据从6种数据源类型(CSV,Active Directory,SQL,Access,Oracle,Sharepoint)中的任意一种读取到数据表中。操作数据表中的值?

然后,用户可能会通过强制转换和每列计算并将其写入SQL表(用户选择的任何表)来更改此数据。

这样做似乎只是用户还必须能够从目标SQL数据库(查找)

领域与价值观,以取代在数据表中的某些字段易我真的想所有上述的做数据表在发送到目标数据块之前,但不能重复使用Linq,因为表结构(源和目标都是未知的,并且不代表特定的业务对象)

tl; dr我需要做数据任何数据表上的转换,这是一个好方法(No Linq!)

编辑:源表和目标表在结构上不同。

+0

每个来源是否有相同的列?如果是的话,更新DataRows有什么问题? – kd7 2011-03-25 12:55:08

+0

好方法 - 编写特定的数据库层逻辑+ ADO.NET。 – 2011-03-25 13:00:35

+0

@LexRama:这是我的文章的重点 - 我正试图找到一个好办法。您的评论就像是答案:[如何购买最好的笔记本电脑?答:买一台笔记本电脑。] – callisto 2011-03-25 13:12:15

回答

0

我最终为每个数据库类型的一个接口的所有部分编写了一个类,并使用基于DbConnection的GenericConnection作为不同类型的源。

我分手的过程分成:

  1. 进口
  2. 变换
  3. 写 阶段,可以保存并重新打开以重新使用或编辑。

的变换部分包括:

  1. 铸造
  2. 计算(字符串,整数,小数,日期,布尔)的加,减,除,乘,AND,OR,串,替换
  3. 查找对其他表
  4. 直接复制

的转换ç排队等候,使得一列数据可以在写入目标之前经过任何量以匹配目标。