ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express リファレンスマニュアル(コマンド編)
Interstage

16.6 irepconvert

名前

irepconvert  -  Symfoware/RDBへエントリの一括投入データ形式の作成

形式

irepconvert -R repository -f file [-o directory] [-from type] [-to type] [-n] [-s] [-i] [-p platform]

機能説明

リポジトリのデータベースとしてSymfoware/RDBを利用し、大量のエントリデータを短時間で一括投入する場合に使用します。ただし、Symfoware Server Lite Editionを使用している環境では、本機能を使用できません。

irepconvertコマンドはLDIFファイルを入力データとし、Symfoware/RDBのデータロード機能で使用する3つのデータファイル、3つのプロシジャルーチン、および1つのバッチファイル(Windows (R))、またはシェルスクリプト(SolarisおよびLinux)を出力します。

バッチファイル、またはシェルスクリプトは、Symfoware/RDBのデータロード機能を利用してエントリを登録することで、Interstage ディレクトリサービスを経由する場合に比べて短時間でエントリを登録できます。

データファイル、プロシジャルーチン、およびバッチファイル、またはシェルスクリプトの出力名は、fileパラメタで指定されたファイル名にテーブル名、プロシジャルーチン名を連結した名前になります。


-fオプションの「file」が「C:\temp\entry.ldif」の場合

[データファイル]
entry.ldif_DS_SCOPE_DSI.dat
entry.ldif_DS_FILTER_DSI.dat
entry.ldif_DS_ENTRY_DSI.dat
[プロシジャルーチン]
entry.ldif_RDB_DROP_PROCEDURE.sql
entry.ldif_RDB_SELECT_SEQ.sql
entry.ldif_RDB_CRT_PROCEDURE.sql
[バッチファイル]
entry.ldif_LOADDAT_EXECSQL.bat


-fオプションの「file」が「/tmp/entry.ldif」の場合

[データファイル]
entry.ldif_DS_SCOPE_DSI.dat
entry.ldif_DS_FILTER_DSI.dat
entry.ldif_DS_ENTRY_DSI.dat
[プロシジャルーチン]
entry.ldif_RDB_DROP_PROCEDURE.sql
entry.ldif_RDB_SELECT_SEQ.sql
entry.ldif_RDB_CRT_PROCEDURE.sql
[シェルスクリプト]
entry.ldif_LOADDAT_EXECSQL.sh

本コマンドはリポジトリが動作するマシンで実行し、出力されたデータファイル、およびプロシジャルーチンの登録はSymfoware/RDBが動作するマシンで実行します。データファイル、プロシジャルーチンはバッチファイル、またはシェルスクリプトで登録します。

以下に、irepconvertコマンドの引数を説明します。

-R repository

対象のリポジトリ名を指定します。英大小文字は区別しません。

-f file

エントリの追加情報を記述したファイルをfileパラメタに指定します。

エントリの追加情報は、LDIF標準形式で記述されている必要があります。詳細については、“ディレクトリサービス運用ガイド”の“データの作成”-“LDAPデータ交換形式(LDIF)を使う”の“LDIF標準形式”を参照してください。なお、本コマンドでは“LDIF更新形式”は使用できません。

LDIFファイルのコード系は必要に応じて、-fromオプションで指定してください。

-o directory

バイナリデータファイルなどを出力するディレクトリ名を指定します。本オプションを省略すると、カレントディレクトリに出力します。

-from type

LDIFファイルのコード系を指定します。英大小文字は区別しません。

指定できるコード系と値は次のとおりです。

コード系

指定する値

日本語EUC

EUC

Shift-JIS

SJIS

UTF-8

UTF8

  

本オプションを省略すると、SJISとみなします。

本オプションを省略すると、ロケール環境(LANG環境変数)に従います。

LANG環境変数

コード系

ja_JP.PCK

Shift-JIS

ja_JP.UTF-8

UTF-8

ja
japanese
ja_JP.eucJP
その他

日本語EUC

本オプションを省略すると、UTF-8とみなします。

-to type

データベースのコード系を指定します。指定できるコード系、初期値については、-fromオプションを参照してください。

-n

画面出力(正常終了メッセージ)を抑制します。

-s

スキーマチェックを抑制します。

-i

公開ディレクトリ、および初期ツリー作成を抑制します。

-iオプションを指定しない場合、公開ディレクトリ、および初期ツリーとして、5個のエントリが追加されます。詳細については、“ディレクトリサービス運用ガイド”の“リポジトリの作成”を参照してください。

-p platform

データベースのプラットフォームを指定します。英大小文字は区別しません。
指定できるプラットフォームと値は次のとおりです。

データベースのプラットフォーム

指定する値

Windows

WIN

Linux

LIN

Solaris

SOL

本オプションを省略すると、本コマンドを実行するプラットフォームが指定されたとみなします。

注意事項

使用例(対話形式)

以下の使用例で、表示上折り返していても、実行時には、改行を入れないで1行で入力してください。以下の太字の部分が実行するコマンド入力例です。

  

-fオプションの「C:\temp\entry.ldif」からバイナリデータを作成し移入する例

> irepconvert -R rep001 -f C:\temp\entry.ldif -o C:\temp
IREP: 情報: irep10850: irepconvert コマンドが正常に完了しました。(エントリ数=6) [rep001]

> cd C:\temp

> dir /B
entry.ldif_DS_ENTRY_DSI.dat
entry.ldif_DS_FILTER_DSI.dat
entry.ldif_DS_SCOPE_DSI.dat
entry.ldif_LOADDAT_EXECSQL.bat
entry.ldif_RDB_CRT_PROCEDURE.sql
entry.ldif_RDB_DROP_PROCEDURE.sql
entry.ldif_RDB_SELECT_SEQ.sql

> entry.ldif_LOADDAT_EXECSQL.bat
Enter the RDB system name:DSDBSYS <RETURN>
Information of the entry registration.
RDB system name :DSDBSYS
Database name :DSDB
Database connection user ID :Administrator
Start registering?[y,n]:y <RETURN>
...(1 stage of 6) loading entry.ldif_DS_SCOPE_DSI.dat
rdbsloader -mi -i DSDB.DS_SCOPE_DSI -o C:\temp\entry.ldif_DS_SCOPE_DSI.dat
qdg12055i:11件のデータを格納します (システム名=DSDBSYS)
qdg12074i:rdbsloaderが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(2 stage of 6) loading entry.ldif_DS_FILTER_DSI.dat
rdbsloader -mi -i DSDB.DS_FILTER_DSI -o C:\temp\entry.ldif_DS_FILTER_DSI.dat
qdg12055i:106件のデータを格納します (システム名=DSDBSYS)
qdg12074i:rdbsloaderが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(3 stage of 6) loading entry.ldif_DS_ENTRY_DSI.dat
rdbsloader -mi -i DSDB.DS_ENTRY_DSI -o C:\temp\entry.ldif_DS_ENTRY_DSI.dat
qdg12055i:117件のデータを格納します (システム名=DSDBSYS)
qdg12074i:rdbsloaderが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(4 stage of 6) executing entry.ldif_RDB_DROP_PROCEDURE.sql
rdbddlex -d DSDB C:\temp\entry.ldif_RDB_DROP_PROCEDURE.sql
qdg12228i:ルーチン削除の実行が正常終了しました (システム名=DSDBSYS)
qdg12228i:順序削除文の実行が正常終了しました (システム名=DSDBSYS)
qdg12228i:順序定義文の実行が正常終了しました (システム名=DSDBSYS)
qdg12228i:ルーチン削除の実行が正常終了しました (システム名=DSDBSYS)
qdg12228i:順序削除文の実行が正常終了しました (システム名=DSDBSYS)
qdg12228i:順序定義文の実行が正常終了しました (システム名=DSDBSYS)
qdg02200i:rdbddlexが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(5 stage of 6) executing entry.ldif_RDB_SELECT_SEQ.sql
rdbexecsql -s DSDB -u Administrator -i C:\temp\entry.ldif_RDB_SELECT_SEQ.sql
~ここで Symfowareコマンドからパスワード入力を求めるプロンプトが表示される。~
SELECT ADMINISTRATOR.SEQ_ENTRY_ID.CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE
<<1>>
1:+000000000000000132.
Number of records:1
SQLSTATE:00000
SQLMSG:JYP2001I 正常に終了しました.
SELECT ADMINISTRATOR.SEQ_REP_ID.CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE
<<1>>
1:+000000000000001286.
Number of records:1
SQLSTATE:00000
SQLMSG:JYP2001I 正常に終了しました.
qdg02200i:rdbexecsqlが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(6 stage of 6) executing entry.ldif_RDB_CRT_PROCEDURE.sql
rdbddlex -d DSDB -x C:\temp\entry.ldif_RDB_CRT_PROCEDURE.sql
qdg12228i:ルーチン定義の実行が正常終了しました (システム名=DSDBSYS)
qdg12228i:ルーチン定義の実行が正常終了しました (システム名=DSDBSYS)
qdg02200i:rdbddlexが正常終了しました 復帰コード 00 (システム名=DSDBSYS)

> irepanalyze.bat

  

-fオプションの「/tmp/entry.ldif」からバイナリデータを作成し移入する例

# /opt/FJSVirep/bin/irepconvert -R rep001 -f /tmp/entry.ldif -o /tmp
IREP: 情報: irep10850: irepconvert コマンドが正常に完了しました。(エントリ数=xxx) [rep001]

# cd /tmp

# ls
entry.ldif_DS_ENTRY_DSI.dat
entry.ldif_DS_FILTER_DSI.dat
entry.ldif_DS_SCOPE_DSI.dat
entry.ldif_LOADDAT_EXECSQL.sh
entry.ldif_RDB_CRT_PROCEDURE.sql
entry.ldif_RDB_DROP_PROCEDURE.sql
entry.ldif_RDB_SELECT_SEQ.sql

# chmod 500 entry.ldif_LOADDAT_EXECSQL.sh

# ./entry.ldif_LOADDAT_EXECSQL.sh
Enter the RDB system name:DSDBSYS <RETURN>
Enter the Database connection password of user ID [root]: <RETURN>
Information of the entry registration.
RDB system name :DSDBSYS
Database name :DSDB
Database connection user ID :root
Start registering?[y,n]:y <RETURN>
...(1 stage of 6) loading entry.ldif_DS_SCOPE_DSI.dat
/opt/FSUNrdb2b/bin/rdbsloader -mi -i DSDB.DS_SCOPE_DSI -o /tmp/entry.ldif_DS_SCOPE_DSI.dat
rdb: INFO: qdg12055i:11件のデータを格納します (システム名=DSDBSYS)
rdb: INFO: qdg12074i:rdbsloaderが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(2 stage of 6) loading entry.ldif_DS_FILTER_DSI.dat
/opt/FSUNrdb2b/bin/rdbsloader -mi -i DSDB.DS_FILTER_DSI -o /tmp/entry.ldif_DS_FILTER_DSI.dat
rdb: INFO: qdg12055i:106件のデータを格納します (システム名=DSDBSYS)
rdb: INFO: qdg12074i:rdbsloaderが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(3 stage of 6) loading entry.ldif_DS_ENTRY_DSI.dat
/opt/FSUNrdb2b/bin/rdbsloader -mi -i DSDB.DS_ENTRY_DSI -o /tmp/entry.ldif_DS_ENTRY_DSI.dat
rdb: INFO: qdg12055i:117件のデータを格納します (システム名=DSDBSYS)
rdb: INFO: qdg12074i:rdbsloaderが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(4 stage of 6) executing entry.ldif_RDB_DROP_PROCEDURE.sql
/opt/FSUNrdb2b/bin/rdbddlex -d DSDB /tmp/entry.ldif_RDB_DROP_PROCEDURE.sql
rdb: INFO: qdg12228i:ルーチン削除の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg12228i:順序削除文の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg12228i:順序定義文の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg12228i:ルーチン削除の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg12228i:順序削除文の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg12228i:順序定義文の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg02200i:rdbddlexが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(5 stage of 6) executing entry.ldif_RDB_SELECT_SEQ.sql
/opt/FSUNrdb2b/bin/rdbexecsql -s DSDB -u root/***** -i /tmp/entry.ldif_RDB_SELECT_SEQ.sql
SELECT ROOT.SEQ_ENTRY_ID.CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE
<<1>>
1:+000000000000000039.
Number of records:1
SQLSTATE:00000
SQLMSG:JYP2001I 正常に終了しました.
SELECT ROOT.SEQ_REP_ID.CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE
<<1>>
1:+000000000000000372.
Number of records:1
SQLSTATE:00000
SQLMSG:JYP2001I 正常に終了しました.
rdb: INFO: qdg02200i:rdbexecsqlが正常終了しました 復帰コード 00 (システム名=DSDBSYS)
...(6 stage of 6) executing entry.ldif_RDB_CRT_PROCEDURE.sql
/opt/FSUNrdb2b/bin/rdbddlex -d DSDB -x /tmp/entry.ldif_RDB_CRT_PROCEDURE.sql
rdb: INFO: qdg12228i:ルーチン定義の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg12228i:ルーチン定義の実行が正常終了しました (システム名=DSDBSYS)
rdb: INFO: qdg02200i:rdbddlexが正常終了しました 復帰コード 00 (システム名=DSDBSYS)

# irepanalyze.sh

  

使用例(非対話形式)

バッチファイル、またはシェルスクリプトの中で定義することで、対話形式を非活性にすることができます。対話入力を非活性にするには、定義項目をすべて指定してください。

注意

バッチファイル、またはシェルスクリプトを編集する前に、バッチファイル、またはシェルスクリプトをデータベースの管理者に対してだけ“読み取り”を許可するように設定してください。

  

定義項目

定義項目すべてを指定してください。なお、下記以外の定義項目を変更する必要はありません。

定義項目名

定義値の説明

DB_SYSNAME

RDBシステム名を指定してください。

RDBシステム名に使える文字は、半角英数字です。

DB_PASS

データベース接続パスワードを指定してください。

データベース接続パスワードに使える文字は、半角英数字です。

  

記述形式

バッチファイル、またはシェルスクリプトの中に指定する、定義項目は以下の形式で記述します。

set 定義項目名=定義値

定義項目名=定義値

記述例

RDBシステム名に「DSDBSYS」、データベース接続パスワードに「password」を、それぞれ指定した時の例です。

rem ----------------------------------------------
set DB_SYSNAME=DSDBSYS
set DB_PASS=password
rem ----------------------------------------------

# ------------------------------------------------
DB_SYSNAME=DSDBSYS
DB_PASS=password
# ------------------------------------------------

実行方法

実行方法は、使用例(対話形式)で記載した手順で実施してください。