cjgencmpsql(CMP2.x Entity Bean用SQL文の生成)
形式
cjgencmpsql [サーバ名称] [-nameserver <プロバイダURL>] -name <アプリケーション名> [-resname <EJB-JARの表示名/Entity Beanの表示名>]
機能
CMP2.x Entity Bean用のSQL文を生成します。
このコマンドを実行すると次のSQL文が生成されます。
-
CMP2.x Entity Beanをマッピングしたテーブルを操作するSQL文
-
CMR用のテーブルを操作するSQL文
-
EJB QLから生成したSQL文
このコマンドは,CMP2.x Entity Beanに対して次のタイミングで実行する必要があります。
-
Bean間にCMRの関係がない場合
-
CMP2.x Entity Beanに対してフィールドをデータベース上のテーブルにマッピングします(cjsetapppropコマンドを使用)。
-
CMP2.x Entity Beanに対してこのコマンドを実行してSQL文を生成します。
-
-
Bean間にCMRの関係がある場合
-
CMRに関係するすべてのCMP2.x Entity Beanに対してフィールドをデータベース上のテーブルにマッピングします(cjsetapppropコマンドを使用)。
-
CMRに関係するすべてのCMP2.x Entity Beanに対してこのコマンドを実行してSQL文を生成します。
-
なお,一度SQLを生成したあとにCMRの設定を変更した場合は,デプロイをする前に,変更したCMRに関するBeanについてこのコマンドを実行してSQL文を生成する必要があります。
アプリケーションが停止状態の場合だけ実行できます。
また,展開ディレクトリ形式の場合,コマンド実行ホストと同じホストで稼働しているJ2EEサーバに対して操作できます。
引数
- <サーバ名称>
-
接続先J2EEサーバ名称を指定します。サーバ名称を省略したときは,ホスト名称がサーバ名称として使用されます。
- -nameserver <プロバイダURL>
-
CORBAネーミングサービスへのアクセスプロトコル,CORBAネーミングサービスが稼働しているホスト名,およびそれが使用しているポート番号を次に示す形式で指定します。
<プロトコル名称>::<ホスト名称>:<ポート番号>
指定内容の詳細については,「2.1.2 プロバイダURLについて」を参照してください。
- -name <アプリケーション名>
-
アプリケーション名を指定します。
- -resname <EJB-JARの表示名/Entity Beanの表示名>
-
SQL生成対象となるEntity Beanの表示名を指定します。
省略したときは,アプリケーションに含まれるすべてのCMP2.x Entity BeanがSQL生成対象となります。SQLの生成に失敗したCMP2.x Entity Beanがある場合でも,すべてのCMP2.x Entity Beanに対してSQLの生成を試みます。どれか一つでもSQLの生成が失敗した場合の終了コードは1となります。
入力例
cjgencmpsql MyServer -name App1 -resname EjbJar1/Ejb1
戻り値
- 0:
-
正常終了しました。
- 1:
-
異常終了しました。
- 2:
-
排他エラーによってコマンドが実行できません。
- 3:
-
タイムアウトエラーが発生しました。
- 9:
-
管理者特権がないため,コマンドが実行できません(Windowsの場合)。
注意事項
-
コマンドの引数にサーバ名称を指定する場合,コマンド名の直後にする必要があります。そのほかの引数は,サーバ名称より後ろ(サーバ名称を省略した場合はコマンド名の後ろ)にあれば順序は任意です。ただし,オプション名と値の順序の入れ替え(例:<プロバイダURL> -nameserver)やオプション名と値を非対応にすること(例:-name <サーバ名>)はできません。
-
コマンドの引数にサーバ名称を指定する場合,cjsetupコマンドで指定したサーバ名称と大文字・小文字を一致させた文字列を指定する必要があります。