CREATE USER MAPPING ステートメント

CREATE USER MAPPING ステートメントは、フェデレーテッド・データベースを使用する許可 ID と、 指定したデータ・ソースで使用する許可 ID およびパスワードとの間のマッピングを定義します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

ステートメントの許可 ID がデータ・ソースへマップされる許可名とは異なる場合、そのステートメントの許可 ID が持つ特権には DBADM 権限が含まれている必要があります。 許可 ID と許可名が一致する場合は、特権または権限は必要ありません。

パブリック・ユーザー・マッピングを作成する場合は、このステートメントの許可 ID が持つ特権には、DBADM 権限が含まれている必要があります。

構文

Read syntax diagramSkip visual syntax diagramCREATE USER MAPPING FORauthorization-nameUSERPUBLICSERVERserver-name OPTIONS(,user-mapping-option-namestring-constant)

説明

権限名
ユーザーまたはアプリケーションがフェデレーテッド・データベースへ接続するときの、 許可名を指定します。 authorization_name は、REMOTE_AUTHID ユーザー・マッピング・オプションにマップされます。
ユーザー
USER 特殊レジスターの値。 USER が指定されている場合、 CREATE USER MAPPING ステートメントを出す許可 ID は REMOTE_AUTHID ユーザー・マッピング・オプションにマップされます。
PUBLIC
ローカル・フェデレーテッド・データベース用の有効な許可 ID を、REMOTE_AUTHID ユーザー・オプションで指定したデータ・ソース用の許可 ID にマップすることを指定します。
サーバー server-name
authorization-name (許可名) がアクセスできる データ・ソースのサーバー・オブジェクトを指定します。 server-name はフェデレーテッド・データベースに登録されている リモート・サーバーのローカル名です。
OPTIONS
作成するユーザー・マッピングの構成オプションを指定します。 指定可能なオプションは、ユーザー・マッピングの作成対象オブジェクトのデータ・ソースによって異なります。 データ・ソースと、それぞれに適用されるユーザー・マッピング・オプションのリストについては、 データ・ソース・オプションを参照してください。 各オプション値は文字ストリング定数で、単一引用符で囲む必要があります。

  • ユーザー・マッピングは、 Db2® 製品ファミリー、Documentum、 Informix®、 Microsoft SQL Server、 ODBC、 Oracle、 Sybase、および Teradata。
  • REMOTE_PASSWORD オプションはユーザー・マッピングには常に必要です。
  • パブリック・ユーザー・マッピングと非パブリック・ユーザー・マッピングが同一フェデレーテッド・サーバーに共存することはできません。 つまり、パブリック・ユーザー・マッピングを作成した場合は、その同じフェデレーテッド・サーバーに非パブリック・ユーザー・マッピングを作成できないことになります。 またその逆に、非パブリック・ユーザー・マッピングを作成した場合は、その同じフェデレーテッド・サーバーにパブリック・ユーザー・マッピングを作成できないことになります。
  • 代替構文: Db2 の以前のバージョンとの互換性のために、以下の構文がサポートされています。
    • ADD は、user-mapping-option-name string-constant の前に指定できます。


CREATE USER MAPPING FOR <db2inst1>
   SERVER <server_name>
   OPTIONS (
      REMOTE_AUTHID '<admin>',
      REMOTE_PASSWORD '<password>);
説明
  • db2inst1 は、 Db2 インスタンス内のローカル許可 ID を指定します。 キーワード USER または PUBLIC、あるいは Db2 インスタンス名を使用する必要があります。 USER は現在の Db2 ユーザー用で、 PUBLIC はすべての Db2 ユーザー用です。
  • server_name は、JDBC データ・ソースに対する CREATE SERVER ステートメントで定義したサーバー定義名を指定します。 ユーザー・マッピングはサーバー・ステートメントと対になります。
  • admin は、リモート・データ・ソース (MySQL など) のリモート・ユーザー ID を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・パラメーターを「U」または「L」に設定しない限り、この値は大/小文字が区別されます。
  • password は、リモート・データ・ソース (MySQL など) のリモート・パスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを「U」または「L」に設定しない限り、この値は大/小文字が区別されます。