ページの先頭行へ戻る
Symfoware Server V10.0.0 コマンドリファレンス

2.21 rdbexecsql

名前

rdbexecsql -- データベースの作成、または、データベースの性能チューニングを対話的に実行

形式

rdbexecsql [ { -s SQLサーバ名 | -d } ]
           [ -u ユーザ指定 ]
           [ -c ]
           [ -o 出力ファイル名 ]
           [ -i 入力ファイル名 [値[[ 値]...]]]
           [ -h 世代数 ]
           [ -mo ]
           [ { -e | -ex } ]

機能説明

データベースの作成、またはデータベースの性能チューニングを対話的に行います。

オプション

-s SQLサーバ名

結合先のSQLサーバ名を指定します。
ローカルアクセスする場合は、“[RDBシステム名.]データベース名”を指定します。
RDBシステム名には、データベースの存在するSymfoware/RDBのRDBシステム名を指定します。
省略した場合は、環境変数RDBNAMEに指定したRDBシステム名が指定されたものとみなされます。
リモートアクセスする場合は、任意の文字列を指定します。
ただし、同じSQLサーバ名を持つSERVER_SPECがクライアント用の動作環境ファイルに指定されていることが必要です。
本オプションと-dオプションの両方を省略した場合は、ローカルアクセスでシステムディクショナリに結合します。

-u ユーザ指定

サーバに結合する時のユーザ名を指定します。
ただし、以下の場合、本オプションの指定は不要です。

  • Windows(R) 2000の場合

    リモートアクセスで接続先ホスト名に“localhost”またはループバックアドレスを指定した場合

  • Windows Server(R) 2003以降の場合

    リモートアクセスで接続先ホスト名に自端末のIPアドレス、自端末のホスト名、“localhost”またはループバックアドレスを指定した場合

-dオプションと同時に指定することはできません。
このオプションを指定すると、 パスワードの入力を促すプロンプトが表示され、パスワードが入力できます。
本オプションを省略した場合は、ツール起動時のユーザIDが指定されたものとみなされます。

-d

本オプションを指定した場合は、DEFAULT_CONNECTIONを用いてサーバに結合します。
クライアント用の動作環境ファイルにDEFAULT_CONNECTIONに対する定義をしておく必要があります。
-uオプションと同時に指定することはできません。
本オプションと-sオプションの両方を省略した場合は、ローカルアクセスでシステムディクショナリに結合します。

-c

複数のSQL文の性能を測定したい場合や自由にトランザクションを制御したい場合に指定します。
本オプションを指定した場合、トランザクションはトランザクション制御文により終了させるか、またはrdbexecsqlコマンドを終了させるまで継続します。
本オプションを省略した場合は、データ操作SQL文単位に自動的にコミットを発行します。

-o 出力ファイル名

実行結果を出力するファイルの、ファイル名を絶対パス名で指定します。
ファイル名に指定できる長さは、255バイトまでです。
出力ファイル名には、-iオプションで指定したファイル名を指定することはできません。
出力ファイルへの実行結果は、以下の順に出力します。

  • 結果データ(SELECT文のみ)

  • Number of records(結果処理行数)

  • SQLSTATE

  • メッセージ

-i 入力ファイル名 [値[[ 値]...]]

ファイルからSQL文を読み込んで実行する場合、入力ファイル名を絶対パス名で指定します。
ファイル名に指定できる長さは、255バイトまでです。
入力ファイル名には、-oオプションで指定したファイル名を指定することはできません。
入力ファイル内に記述したSQL文の一部を可変要素として定義している場合、引数に値を指定することで可変要素を補完することができます。
値を複数指定する場合は、空白で区切る必要があります。

-h 世代数

実行履歴を表示するために保持する世代数を変更したい場合に指定します。
指定できる値は、10以上100以下の整数です。
ただし、10以下の数を指定した場合には10が、100以上の数を指定した場合には100が指定されたものとみなします。
本オプションを省略した場合は、過去30世代までの履歴を保持します。

-mo

実行結果の出力形式を表形式で出力したい場合に指定します。
本オプションを省略した場合は、バーティカル形式で出力します。

-e

SQL文の実行時にエラーが発生した際、処理を中断させ、コマンドの終了ステータスとしてSQL文のエラーが発生したことを表す値を取得したい場合に指定します。
-eオプションと-exオプションのいずれも指定しない場合は、SQL文の実行時にエラーが発生しても、処理は継続されます。

-ex

SQL文の実行時にエラーが発生した際、処理を中断させ、コマンドの終了ステータスとしてSQL文のエラーが発生したことを表す値を取得したい場合に指定します。ただし、未定義オブジェクトの削除エラー、定義済みオブジェクトの重複定義エラーまたは一意性制約違反のエラーが発生した場合は正常終了とみなされ、処理は継続されます。
また、表を削除する際に指定したスキーマが存在しないなど、オブジェクトの削除時に関連するオブジェクトが存在しない場合のエラーや、DSIを定義する際に指定したデータベーススペースが存在しないなど、オブジェクトの定義時に関連するオブジェクトが存在しない場合のエラーも正常終了とみなされます。
-eオプションと-exオプションのいずれも指定しない場合は、SQL文の実行時にエラーが発生しても、処理は継続されます。
未定義オブジェクトの削除エラー、定義済みオブジェクトの重複定義エラーまたは一意性制約違反のエラーが発生しても処理を継続するSQL文を以下に示します。

  - CREATE DATABASE文
  - CREATE DBSPACE文
  - CREATE DSI文
  - CREATE DSO文
  - CREATE FUNCTION文
  - CREATE INDEX文
  - CREATE PROCEDURE文
  - CREATE ROLE文
  - CREATE SCHEMA文
  - CREATE SCOPE文
  - CREATE SEQUENCE文
  - CREATE TABLE文
  - CREATE TRIGGER文
  - CREATE USER文
  - CREATE VIEW文
  - DROP DATABASE文
  - DROP DBSPACE文
  - DROP DSI文
  - DROP DSO文
  - DROP FUNCTION文
  - DROP INDEX文
  - DROP PROCEDURE文
  - DROP ROLE文
  - DROP SCHEMA文
  - DROP SCOPE文
  - DROP SEQUENCE文
  - DROP TABLE文
  - DROP TRIGGER文
  - DROP USER文
  - DROP VIEW文
  - ALTER TABLE文のADD
  - ALTER TABLE文のDROP
  - GRANT文
  - REVOKE文
  - APPLY SCOPE文
  - RELEASE SCOPE文
  - INSERT文
  - UPDATE文

使用

例1

“SERV00”サーバに、“USER00”で接続します。

rdbexecsql -s SERV00 -u USER00
例2

“c:\rdb\createdb.sql”を入力ファイルとして、引数“\\.\SHD.RAW_DIR”で入力ファイル内の可変要素を補完します。

rdbexecsql -i c:\rdb\createdb.sql \\.\SHD.RAW_DIR

終了ステータス

以下の終了ステータスが返されます。

0 : すべてのSQL文が正常終了
-2 : SQL文実行時にエラー
-1 : 上記以外の異常終了

注意

入力ファイルを指定する場合は、以下のことを注意してください。

可変要素を指定する場合は、以下のことを注意してください。