Sql-Server
將此非標准文本文件導入 SQL Server 的最佳方法是什麼?
我有一個每天生成的文本文件。它是一種固定寬度格式,但有一個令人沮喪的例外。第三列 (NAME) 具有可變寬度。該列的長度總是與數據集中最長的名稱 + 1 個空格完全相同。這使得每天的文件具有不同的列起點和終點。
有沒有人有一個聰明的方法來處理每天導入這個文件?更改源程序不是一種選擇。
我願意在導入前修改文件。
我願意使用幾乎任何工具,包括但不限於 SSIS、C#、PowerShell。
我正在尋找具有高可靠性的最不“混亂”的解決方案。
例子
A/R Patient PICASI, LINDA 00691685 90409843 Inpatient Revenue Patient SIMPSON, RHASIRA B 00000000 00000000 Emergency
根據您的範例數據,看起來總共有 6 列。
COL1、COL2、COL4、COL5、COL6 = 所有固定寬度。
COL3 = 這是給定日期的固定寬度,但每天都是可變的(根據我的理解)。
您應該能夠根據任何給定線的長度每天計算 COL3 的寬度。你知道 COL1,2,4,5,6 都是固定寬度。取總和減去 COL1,2,4,5,6 得到 COL3 每天的寬度。
COL3 = LINE_WIDTH - (COL1 + COL2 + COL4 + COL5 + COL6)
獲得 COL3 的寬度後,您將能夠計算出所有起點和終點。