从文本文件更新Db

时间:2014-02-20 14:21:26

标签: c# database auto-update talend

我们的数据库中有两个表需要使用另一个源的提取进行更新。这种提取为我们提供了一个文本文件。

第一次插入很容易归功于Talend,但现在又出现了另一个问题。

我们不想进行简单的插入或更新,但我们想要比较两个来源,并为用户提供选择,以选择哪些值适合每个条目。

目前找到的唯一解决方案是将新内容插入另一个表中,并通过程序比较每个条目,然后显示已修改的条目。

问题是我们有1500多个条目,而且这个解决方案的性能非常低,所以我们正在寻找一个新的。

是否会有一个解决方案,例如从我们的数据库中添加到文本文件中,然后自动比较这两个文件并生成第三个文件,仅包括修改。第三个将更容易加载到程序中并进行分析。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

由于数据库中只有少数记录(1500+):

  • 将数据库中的所有记录加载到内存中,
  • 开始阅读更新的输入文件中的每一行
  • 查看是否与内存中的记录完全匹配
  • 如果没有,请将记录插入数据库,并附带指向原始数据库记录的链接

您的选择:

  • 如果'link'列为空,则为'实际记录'
  • 如果链接列中有值,您可以使用它来选择需要由用户进行比较的记录

当您的数据库太大而无法将所有内容加载到内存中时,您将不得不切换到批处理(使用PL / SQL或T-SQL或......)或稍微更改过程。