CREATE TABLE T01(C01 CHAR(10),C02 CHAR(40),C03 INT)
CREATE TABLE T02(C01 CHAR(10),C02 CHAR(40),C03 INT,C04 INT)
CREATE FIX TABLE T03(C01 CHAR(10), C02 CHAR(40),C03 INT)
CREATE TABLE T04
(C01 INT,
C02 MVARCHAR(32),
C03 SGMLTEXT ALLOCATE (SGMLTEXT IN RDLOB01)
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>文書定義</DTD>',
C04 DATE)
CREATE INDEX TEXT_IDX USING TYPE NGRAM
ON T04(C03) IN RDLOB02
$PDDIR /HiRDB1
$PDCONFPATH /HiRDB1/conf
$PDUSER "user01"/"user01"
$PDNAMEPORT 20000
$SHLIB_PATH /HiRDB1/lib: /HiRDB1/client/lib
$PATH /opt/HIRDBXT/bin
$LANG ja_JP.SJIS
$XTHOST HOST2
$XTPORTNO 20052
:
:
160.16.150.120 HOST2
160.16.150.121 HOST3
:
:
CREATE TABLE T01(C01 CHAR(10),C02 CHAR(40),C03 INT)
CREATE TABLE T02(C01 CHAR(10),C02 CHAR(40),C03 INT,C04 INT)
CREATE TABLE T04
(C01 INT,
C02 MVARCHAR(32),
C03 SGMLTEXT ALLOCATE (SGMLTEXT IN RDLOB01)
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>文書定義</DTD>',
C04 DATE)
CREATE INDEX TEXT_IDX USING TYPE NGRAM
ON T04(C03) IN RDLOB02
CREATE FIX TABLE T03(C01 CHAR(10),C02 CHAR(40),C03 INT)
:
:
hirdbxt1 20052/tcp # HiRDB Dataextractor
hirdbxt2 50000/tcp # HiRDB Dataextractor
:
:
:
:
hirdbxt1 stream tcp nowait user01
/opt/HIRDBXT/bin/pxtcntl pxtcntl /usr/home/user01/xtenv1
hirdbxt2 stream tcp nowait user02
/opt/HIRDBXT/bin/pxtcntl pxtcntl /usr/home/user02/xtenv2
:
:
(/usr/home/user01/xtenv1)
set PDDIR=/HiRDB2
set PDCONFPATH=/HiRDB2/conf
set PDUSER="user01"/"user01"
set LANG=ja_JP.SJIS
set PDDIR=/HiRDB2
set PDCONFPATH=/HiRDB2/conf
set PDUSER="user02"/"user02"
set LANG=ja_JP.SJIS
:
:
hirdbxt 20052/tcp # HiRDB Dataextractor
:
:
:
:
hirdbxt stream tcp nowait user01
/opt/HIRDBXT/bin/pxtcntl pxtcntl /usr/home/user01/xtenv
:
:
set XTTMPDIR=/usr/home/user01/data
set LANG=ja_JP.SJIS
データの抽出側で,xtrepコマンドを指定します。
表user01.T01をHOST2の表T01に複写します。
指定するオプションは次のとおりです。
xtrep T01 |
表user01.T01をHOST2の表T02に複写します。
指定するオプションは次のとおりです。
xtrep -r T02 -d -l n -n 255 -m 100 -g -s /usr/home/user01/clm |
C01,C02,C03,0
WHERE C01<='0000010000'
C01=('FFFFFFFFFF')
表user01.T03をHOST2の表T03に複写します。
指定するオプションは次のとおりです。
xtrep -d -n 40 -p 50000 -e /tmp/xtrep_log -s /usr/home/user01/clm T03 |
ROW
表user01.T03をHOST3のファイルに出力します。
指定するオプションは次のとおりです。
xtrep -R dat -o T03 -h HOST3 T03 |
表user01.T01をHOST3のファイルに出力します。
指定するオプションは次のとおりです。
xtrep -R dat -o T01 -h HOST3 -m 50 -s /usr/home/user01/clm |
C01,C02,C03,0
WHERE C01<='0000010000'
SGMLTEXT型の列を含む表user01.T04を,HOST2の表T04に複写します。
シェルを作成してxtrepコマンドを実行します。
#!/bin/csh -f
#--------------------------------------------------------------
#SGMLTEXT列のMAXサイズ取得
1. echo 'max(length(extracts(C03)))' > xt_clm
2. xtrep -R dat -o size -s xt_clm -h `hostname` T04
rm -f xt_clm
#--------------------------------------------------------------
#xtrepパラメタ,コマンド作成
3. echo 'C01,C02,extracts(C03),C04' > xt_clm
echo '#! /bin/csh -f' > xt_exec
4. echo 'setenv XTERRLEVEL 1' >> xt_exec
echo 'setenv XTHOST HOST2' >> xt_exec
echo 'setenv XTFILESIZE 10000000' >> xt_exec
5. echo 'setenv XTLOBBUFSIZE ¥c' >> xt_exec
cat /opt/HIRDBXT/spool/size | cut -c2-11 >> xt_exec
echo 'xtrep -d -o xt_file1,xt_file2 -s xt_clm T04' >> xt_exec
chmod 777 xt_exec
#--------------------------------------------------------------
#xtrepの実行
6. xt_exec
rm -f /opt/HIRDBXT/spool/size
rm -f xt_clm
rm -f xt_exec