0

我对常规分隔文本数据文件的 SSIS 解析非常熟悉,但是,我正在寻找一些关于处理看起来像这个测试文件的文件的方法的建议:

ISA*00* *00* *01*220220220 *ZZ*RL CODE 01*060327*1212*U*00300*000008859*0*P*:~
GS*RA*CPA-BPT*LOCALUTILITY*060319*1212*970819003*X*003030~
ST*820*000000001~
BPR*C*321.91*C*X12*CBC*04*000300488**9918939***04*000300002**1598564*070319~
TRN*1*00075319970819105029~
REF*RR*0003199708190000174858~
DTM*097*070318~
DTM*107*070318~
N1*PR*DIRECT PAYMENT~
N1*PE*ABC CORPORATE BILLER*ZZ*90005836~
ENT*1~
N1*PR*BILLING - TEST - NATTRASS~
RMR*CR*0009381082105011**142.15~
REF*TN*000303965~
DTM*109*070316~
ENT*2~
N1*PR*BILL FREID TEST~
RMR*CR*0011010451800011**179.76~
REF*TN*000304189~

321.91 是交易总额。

我更喜欢用 SSIS 来做这件事,但也可以创建一个 C# 解析器。

建议将不胜感激。

谢谢你。

4

4 回答 4

2

对此没有简单的答案。SSIS 的平面文件数据源只处理最简单的格式。我已经使用平面文件任务将不规则的正确或记录类型的平面文件作为一大列读取。然后我会通过一个脚本任务运行它来处理解析。抱歉,没有比这更简单的答案了……你会认为会有的。

于 2010-01-08T19:33:41.773 回答
2

上面显示的文件称为“837 文件”。您可以搜索 837 文件解析器或在 c# 中解析此类文件的方法。我没有指向该链接的链接,但至少这应该至少可以帮助您找到解决方案(记住:“837 文件”)

(顺便说一句,我认为这违反了 HIPAA 规则。您不能公开发布/发布。虽然数据可能是虚构的,但您不能真正发布这样的内容。请仔细检查)

2010 年 3 月 18 日更新:

我在这里找到了“如何阅读 ANSI 837 文件”文档 (PDF 下载)

2010 年 3 月 26 日更新:

我找到了更多关于此的信息。该示例可能根本不是 837 文件。它似乎是 ANSI X12 - EDI 标准。请查看EDI 映射文档 (pdf)

而且,还有这个EDI X12 上的 Google 搜索结果

而且,这个程序员的 EDI 工具

请发布此问题的解决方案,以便任何需要答案的人从中受益;-)

于 2010-02-03T22:05:18.423 回答
0

对于常规的平面文件数据源组件来说,该示例文件处理起来会很复杂。使用 SSIS 执行此操作的唯一替代方法是将脚本组件用作数据流中的源。然后,您可以访问所有 .Net Framework 库,然后可以在该组件中创建自定义的 c# 或 vb(使用 2008)或 vb(使用 2005)解析器。祝你好运!

于 2010-01-08T19:21:26.570 回答
0

假设在 SSIS 中执行此操作不是一个干净的选项,您可以使用开源File Helpers库来有效地编写 C# 解析器。

文件助手对于解析分隔文件和固定长度文件很有用。

于 2010-01-14T13:27:24.317 回答