从文本文件中读取值并将其更新到sql表中的字段

时间:2011-12-15 12:17:25

标签: sql sql-server ssis

我有一个包含

等数据的文本文件

患者姓名:Patient1 Medical rec#:A1Admit date:04/26/2009出院日期:04/26/2009 DRG:982等等。

在上面给出的格式中,我在文件文件中有几条记录。每个字段用冒号

分隔

我必须阅读这个文件并查找值并更新我的sql表中的相应字段。必须在sql表的drg列中更新drg值982)

请通过sql查询或ssis包帮助完成。

2 个答案:

答案 0 :(得分:0)

如果我完成此任务,我将使用SSIS。

  • 创建2个DataSources:平面文件(用于文本文件)和SQL Server连接
  • 使用查找任务从文本文件中查找db表中每条记录的值
  • 使用执行SQL任务通过查找值
  • 更新记录

答案 1 :(得分:0)

你可以通过BULK INSERT尝试这样做。

  • 创建临时表以获取新值
  • BULK将文件插入到表(**)
  • [可选择在此处进行一些数据丰富/清理]
  • 将temp-table中的信息合并到实际表中

这可能是唯一的问题是

  • 服务器无法直接访问文件(例如,当文件在文件上时) 网络共享)
  • 该文件的格式为BULK INSERT
  • 无法处理

鉴于上面的示例数据,您可能需要将数据加载到一个大列中,然后通过creative-sql(PatIndex,substring,works ......)分割成不同的列。您可能会尝试将冒号作为字段分隔符,但您仍然会得到需要(相当多)清理的数据。