9.2.2.4 ソース定義ファイルの使用

Oracle GoldenGateソース定義ファイルから取得されるデータ定義に基づいて、固定幅解析を使用できます。これは、COBOLコピーブックに類似しています。ソース定義ファイルには、参加している表の各フィールドの位置と長さが含まれているからです。ソース定義ファイルを使用するには、次のプロパティを設定する必要があります。

fixed.userdefs.tables=qasource.HEADER
fixed.userdefs.qasource.HEADER.columns=optype,schemaandtable
fixed.userdefs.qasource.HEADER.optype=vchar 3
fixed.userdefs.qasource.HEADER.schemaandtable=vchar 30

fixed.header=qasource.HEADER

次の例では、全長が33文字のヘッダー・セクションを定義しています。最初の3文字は操作タイプで、最後の30文字は表名です。解析されるすべてのレコードのレイアウトは、fixed.userdefsプロパティで定義されている完全なヘッダー・セクションで始まる必要があります。各レコードでは、ヘッダー・セクションの直後に、対応する表のすべての列データの内容が続きます。列データは、ソース定義ファイルで定義されているそのオフセットと長さに従って厳密にレイアウトする必要があります。具体的に言うと、オフセット情報は列定義の4番目のフィールド(Fetch Offset)であり、長さ情報は列定義の3番目のフィールド(External Length)です。GG.JMSCAP_TCUSTMERの定義の例を次に示します。

Definition for table GG.JMSCAP_TCUSTMER
Record length: 78
Syskey: 0
Columns: 4
CUST_CODE   64      4        0  0  0 1 0      4      4      0 0 0 0 0 1    0 1 0
NAME        64     30       10  0  0 1 0     30     30      0 0 0 0 0 1    0 0 0
CITY        64     20       46  0  0 1 0     20     20      0 0 0 0 0 1    0 0 0
STATE        0      2       72  0  0 1 0      2      2      0 0 0 0 0 1    0 0 0
End of definition

GG.JMSCAP_TCUSTMERの固定幅データは、次のようになります。ここでは、わかりやすくするためにオフセット・ガイドが各セクションに追加されています。

0         1         2         3  0         1         2         3         4         5         6         7         8
012345678901234567890123456789012012345678901234567890123456789012345678901234567890123456789012345678901234567890
I  GG.JMSCAP_TCUSTMER            WILL      BG SOFTWARE CO.                     SEATTLE                   WA    
I  GG.JMSCAP_TCUSTMER            JANE      ROCKY FLYER INC.                    DENVER                    CO    
I  GG.JMSCAP_TCUSTMER            DAVE      DAVE'S PLANES INC.                  TALLAHASSEE               FL    
I  GG.JMSCAP_TCUSTMER            BILL      BILL'S USED CARS                    DENVER                    CO    
I  GG.JMSCAP_TCUSTMER            ANN       ANN'S BOATS                         SEATTLE                   WA    
U  GG.JMSCAP_TCUSTMER            ANN       ANN'S BOATS                         NEW YORK                  NY

より短いデータ・レコードを指定できます。つまり、前の一部の列のみが存在することになります。これを行うには、次の要件が満たされている必要があります。

  • 欠落した列または省略された列がキーの一部になっていない

  • それぞれのExternal Lengthの情報に応じて、存在するすべての列に完全なデータが含まれる

    .