SET SERVER OPTION ステートメントは、 ユーザーまたはアプリケーションが連合データベースに接続中にも有効な、 サーバー・オプションの設定値を指定します。 接続が終了すると、このサーバー・オプションの以前の設定値が復元されます。 このステートメントは、トランザクションの制御下にありません。
呼び出し
このステートメントは、対話式に発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。
許可
このステートメントの許可 ID には、 連合データベースに対する SYSADM 権限または DBADM 権限がなければなりません。
構文
>>-SET SERVER OPTION--server-option-name---TO--string-constant--> >----FOR--SERVER--server-name----------------------------------><
説明
注
例
例 1: DJDB という連合データベースに、 RATCHIT という Oracle データ・ソースを定義します。 RATCHIT は、計画ヒントを使用できないように構成されます。 しかし、DBA は新しいアプリケーションを試験的に実行するため、 プランのヒントを使用できるようにすることを希望しています。 実行を終了すると、プランのヒントは再度使用不可になります。
CONNECT TO DJDB; strcpy(stmt,"set server option plan_hints to 'Y' for server ratchit"); EXEC SQL EXECUTE IMMEDIATE :stmt; strcpy(stmt,"select c1 from ora_t1 where c1 > 100"); /*Generate plan hints*/ EXEC SQL PREPARE s1 FROM :stmt; EXEC SQL DECLARE c1 CURSOR FOR s1; EXEC SQL OPEN c1; EXEC SQL FETCH c1 INTO :hv;
例 2: すべての Oracle 8 データ・ソースで、 サーバー・オプション PASSWORD を 'Y' (データ・ソースでの認証パスワード) に設定しました。 しかし、特定の Oracle 8 データ・ソース (連合データベース DJDB に ORA8A と定義されているデータ・ソース) に アクセスするために、アプリケーションが連合データベースに接続するセッションの場合、 パスワードを妥当性検査する必要はありません。
CONNECT TO DJDB; strcpy(stmt,"set server option password to 'N' for server ora8a"); EXEC SQL PREPARE STMT_NAME FROM :stmt; EXEC SQL EXECUTE STMT_NAME FROM :stmt; strcpy(stmt,"select max(c1) from ora8a_t1"); EXEC SQL PREPARE STMT_NAME FROM :stmt; EXEC SQL DECLARE c1 CURSOR FOR STMT_NAME; EXEC SQL OPEN c1; /*Does not validate password at ora8a*/ EXEC SQL FETCH c1 INTO :hv;