Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの管理 » データベース管理ユーティリティ

 

Interactive SQL ユーティリティ (dbisql)

SQL コマンドを実行し、データベースに対してコマンド ファイルを実行します。

構文
dbisql [ options ] [ dbisql-command | command-file ]
オプション 説明
@data

指定された環境変数または設定ファイルからオプションを読み込みます。設定ファイルの使用を参照してください。

設定ファイル内のパスワードなどの情報を保護する場合は、ファイル難読化ユーティリティを使用して、設定ファイルの内容を難読化できます。ファイル難読化ユーティリティ (dbfhide)を参照してください。

-c "keyword=value; ..."

接続パラメータを指定します。Interactive SQL が接続できない場合は、接続パラメータを入力するウィンドウが表示されます。接続パラメータを参照してください。

-d delimiter

コマンド・デリミタを指定します。デリミタを囲む引用符は省略可能ですが、コマンド・シェル自体がデリミタを特別な方法で解釈するときは必ず指定します。

このオプションは、command_delimiter オプションの設定を上書きします。command_delimiter オプション [Interactive SQL]を参照してください。

-d1 ユーザが明示的に実行するすべての文をコマンド・ウィンドウ (STDOUT) にエコーします。これによって、SQL スクリプトのデバッグ、または Interactive SQL が長文の SQL スクリプトを処理しているときに有用なフィードバックが提供されます。(最後の文字は数値の 1 であり、L の小文字ではありません)。このオプションは、Interactive SQL をコマンド・ライン・プログラムとして実行している場合のみ使用できます。
-datasource DSN-name 接続先の ODBC データ・ソースを指定します。
-f filename

[SQL 文] ウィンドウ枠で filename というファイルを (実行しないで) 開きます。

-f オプションが指定されている場合、-c オプションは無視されます。つまり、データベースへの接続は確立されません。

ファイル名は引用符で囲んでも囲まなくても構いませんが、ファイル名にスペースが含まれている場合は必ず引用符で囲む必要があります。そのファイルが存在しない場合、またはファイルではなく実際にはディレクトリである場合は、Interactive SQL がエラー・メッセージを出力して終了します。ファイル名に完全なドライブとパスの仕様が含まれていないときは、現在のディレクトリが基準として想定されます。

このオプションは、Interactive SQL をウィンドウ・ベースのアプリケーションとして実行している場合のみサポートされます。

-host hostname データベース・サーバを実行するコンピュータのホスト名または IP アドレスを指定します。現在のコンピュータを表す localhost という名前を使用できます。
-nogui

Interactive SQL をコマンド・プロンプト・モードで実行します。このとき、ウィンドウ・ベースのユーザ・インタフェースは使用しません。これは、バッチ処理に便利です。dbisql-command または command-file のいずれかを指定する場合、-nogui が使用されます。

このモードのとき、Interactive SQL は、処理の成功または失敗をプログラム終了コードを設定することで示します。Windows オペレーティング・システムでは、プログラム終了コードに対して環境変数 ERRORLEVEL が設定されます。ソフトウェア・コンポーネントの終了コードを参照してください。

-onerror { continue | exit } コマンド・ファイルから文を読み出し中にエラーが起こった場合の事象を制御します。このオプションは、on_error 設定を上書きします。これは、Interactive SQL をバッチ処理で使用するときに便利です。on_error オプション [Interactive SQL]を参照してください。
-port port-number データベース・サーバが実行されているポート番号を指定します。SQL Anywhere のデフォルト・ポート番号は 2638 です。
-q

出力メッセージを表示しません。これは、コマンドまたはコマンド・ファイルを使って Interactive SQL を起動する場合のみ有用です。このオプションを指定した場合、エラー・メッセージは表示されますが、次の情報は表示されません。

  • 警告およびその他の致命的でないメッセージ

  • 結果セットの出力

-ul

デフォルトとして Ultra Light データベースを指定します。Interactive SQL では、接続するデータベースのタイプに応じて使用可能なオプションがカスタマイズされます。Interactive SQL では、デフォルトで SQL Anywhere データベースに接続すると見なされます。-ul オプションを指定すると、デフォルトが Ultra Light データベースに変更されます。デフォルトに設定されているデータベースのタイプに関係なく、[接続] ウィンドウのドロップダウン・リストからデータベースのタイプを選択することで、SQL Anywhere または Ultra Light のデータベースに接続できます。

Interactive SQL から Ultra Light データベースへの接続については、Ultra Light 用 Interactive SQL ユーティリティ (dbisql)を参照してください。

-version

Interactive SQL のバージョン番号を表示します。Interactive SQL 内から [ヘルプ] - [Interactive SQL について] を選択して、バージョン番号を参照することもできます。

-x

コマンドをスキャンしますが、実行しません。長いコマンド・ファイルの構文エラーをチェックする場合に有用です。

SQL 文と Interactive SQL コマンドの詳細については、SQL 言語の要素を参照してください。

備考

Interactive SQL を使用して、データベースのブラウズ、SQL コマンドの実行、およびコマンド・ファイルの実行を行うことができます。また、影響を受けたローの数、各コマンドに必要な時間、クエリの実行計画、エラー・メッセージに関するフィードバックも提供します。

SQL Anywhere データベースと Ultra Light データベースの両方に接続できます。

Interactive SQL は、Windows、Solaris、Linux、Mac OS X でサポートされています。

dbisql-command を指定すると、Interactive SQL がそのコマンドを実行します。コマンド・ファイル名も指定できます。dbisql-command または command-file 引数が指定されていないと、Interactive SQL は対話型モードになります。このモードでは、コマンドをコマンド・ウィンドウに入力できます。

次の方法で Interactive SQL を開始できます。

Windows の場合、実行プログラムが 2 つあります。バッチ・スクリプトでは、dbisql.exe ではなく、dbisql または dbisql.com を呼び出す必要があります。実行プログラム dbisql.com は、コンソール・アプリケーションとしてリンクされています。実行プログラム dbisql.exe はウィンドウ・アプリケーションとしてリンクされており、起動元のコマンド・シェルがブロックされません。dbisql.exe をバッチ・ファイルから実行した場合、標準出力または標準のエラー・ファイルに出力が送信されません。

INPUT、OUTPUT、または READ 文の ENCODING 句を使用して、ファイルを読み込んだり書き込んだりするときに使用するコード・ページを指定できます。たとえば、英語版の Windows XP コンピュータでは、ウィンドウ・ベースのプログラムは 1252 (ANSI) コード・ページを使用します。297 (IBM France) コード・ページを使用して作成された status.txt というファイルを Interactive SQL で読み込むには、次の文を使用します。

READ
ENCODING 297
status.txt;

Interactive SQL のデフォルトのコード・ページは、default_isql_encoding オプションでも設定できます。次の項を参照してください。

終了コードは、0 (成功) または 0 以外の値 (失敗) です。0 以外の終了コードが設定されるのは、(SQL 文またはスクリプト・ファイル名を指定したコマンド・ラインによって) Interactive SQL をバッチ・モードで実行した場合だけです。ソフトウェア・コンポーネントの終了コードを参照してください。

Interactive SQL で reload.sql ファイルを実行する場合は、パラメータとして暗号化キーを指定する必要があります。READ 文でキーを指定しなかった場合、キーを入力するよう要求されます。

参照

次のコマンドを入力すると、ユーザ ID DBA とパスワード sql で、現在のデフォルト・サーバに対してコマンド・ファイル mycom.sql が実行されます。コマンド・ファイルにエラーがあった場合は、処理は停止します。

dbisql -c "UID=DBA;PWD=sql" -onerror exit mycom.sql

次のコマンドを入力すると、現在のデフォルト・データベースにユーザが追加されます。

dbisql -c "UID=DBA;PWD=sql" CREATE USER joe IDENTIFIED passwd