我还在学习SQL Server。
场景是我有很多.txt
个文件,其名称格式为DIAGNOSIS.YYMMDDHHSS.txt
,只有YYMMDDHHSS
与文件不同。它们都保存在文件夹Z:\diagnosis
中。
如何编写存储过程以上传文件夹.txt
中DIAGNOSIS.YYMMDDHHSS.txt
格式的所有Z:\diagnosis
个文件?文件只能加载一次。
谢谢
答案 0 :(得分:3)
我不会使用存储过程来完成它。我会用SSIS。它有一个可以使用的每个文件任务。加载文件后,我会将其移动到存档位置,以便下次不处理。或者,您可以创建一个表,在该表中存储已成功处理的文件的名称,并使每个文件循环跳过该表中的任何文件,但是您只需继续获取越来越多的文件循环,更好地移动已处理的文件如果可以的话,到另一个地方。
我个人也会在将数据加载到最终表之前将文件数据放在临时表中。我们使用其中两个,一个用于原始数据,另一个用于清理数据。然后,我们转换为与生产中的关系表匹配的登台表,以确保数据在尝试影响生产之前满足其中的需求,并将异常发送到因某种原因无法插入的记录的异常表。在医疗保健环境中工作,您需要确保您的流程符合政府规定,以便存储您所在国家/地区的患者记录(请参阅美国的HIPAA)。您可能必须直接加载到生产环境或严格限制对登台表和文件的访问。