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

上記のファイルを「837ファイル」と呼びます。837 個のファイル パーサーまたはそのようなファイルを C# で解析する方法を検索できます。それへのリンクはありませんが、少なくともこれは解決策を見つけるのに役立つはずです(「837ファイル」を思い出してください)

(ちなみに、これはHIPAAのルール違反だと思います。これを公に公開/投稿することはできません。データは架空のものかもしれませんが、実際にこのようなものを投稿することはできません。再確認してください)

2010 年 3 月 18 日更新:

ここで「ANSI 837 ファイルの読み方」ドキュメントを見つけました (PDF ダウンロード)

2010 年 3 月 26 日更新:

これに関する詳細情報を見つけました。この例は、837 ファイルではない可能性があります。ANSI X12 - EDI 標準のようです。EDI マッピング ドキュメント (pdf)をご覧ください。

また、EDI X12 でのこのGoogle 検索結果

そして、このEDI Tools for Programmer

この問題の解決策を投稿して、回答が必要な人が恩恵を受けられるようにしてください ;-)

于 2010-02-03T22:05:18.423 に答える
2

これに対する簡単な答えはありません。SSIS のフラット ファイル データ ソースは、最も単純な形式しか処理しません。私は、フラット ファイル タスクを使用して、不規則な右側を読み取るか、入力されたフラット ファイルを 1 つの大きな列として記録しました。次に、スクリプト タスクを実行して解析を処理します。申し訳ありませんが、それよりも簡単な答えはありません... あると思います。

于 2010-01-08T19:33:41.773 に答える
0

SSIS でこれを行うのがクリーンなオプションではないと仮定すると、C# パーサーを効率的に作成するために、オープン ソースのファイル ヘルパーライブラリを使用できます。

ファイル ヘルパーは、区切りファイルや固定長ファイルの解析に役立ちます。

于 2010-01-14T13:27:24.317 に答える
0

このサンプル ファイルは、通常のフラット ファイル データ ソース コンポーネントで処理するには複雑すぎます。SSIS を使用してこれを行う唯一の方法は、スクリプト コンポーネントをデータ フローのソースとして使用することです。その後、すべての .Net Framework ライブラリにアクセスできるようになり、カスタマイズした c# または vb (2008 を使用) または vb (2005 を使用) パーサーをそのコンポーネント内に作成できるようになります。幸運を!

于 2010-01-08T19:21:26.570 に答える