0

フラット ファイル ソースを使用して列を完全に読み取ることができるため、何をすべきか途方に暮れていますが、特定のものが利用可能な場合は、それらを別の列に分割する必要があります。

例:

line 1)  2013-08-23 14:03:17 ipaddress:port @client POST /api func_0() result(0)

line 2) 2013-08-23 14:03:18 ipaddress:port @client POST /api/logout LOGOUT  
  (lm=local,haspid=randomnumbers,feat=0,sess=0000007E,duration=8400) result(0)

line 3)  2013-08-23 14:03:18 ipaddress:port @client POST /api/logout LOGOUT  
  (lm=local,haspid=randomnumbers,feat=1,sess=0000007D,duration=8408) result(0)

(読みやすくするために折り返されています: これら 3 つのそれぞれは、実際には 1 つの長い行です)

sess= と duration= の内容を独自の個別の列に分割するために、ある種の派生列を実行する必要がありますが、ご覧のとおり、関数列が異なり、空の func_0 または他のタイプの関数が含まれている場合がありますとなるので、フラットファイルソース読み込みで区切ることはできませんでした。

何か案は?

4

2 に答える 2

0

いくつかのファイルを読み取り、存在するかどうかに関係なくtolken=valueのペアを探すという同様の要件がありました。スクリプト タスクを使用して単純なパーサーを作成することによってのみ、これを達成できました。この質問で少し説明しました。 ヘッダー行とトレーラー行を含むssisインポート固定幅フラットファイル

この方向に進みたい場合は、サンプルコードを提供できます。ご不明な点がございましたら、お知らせください。

于 2013-08-27T13:01:35.417 に答える