CREATE SERVER ステートメント

CREATE SERVER ステートメントは、データ・ソースをフェデレーテッド・データベースへ定義します。

このステートメントでは、SERVER という語と、server- で始まるパラメーター名は、 フェデレーテッド・システムでのデータ・ソースを指しています。 そのようなシステムでのフェデレーテッド・サーバー、 あるいは DRDA アプリケーション・サーバーを指すわけではありません。

呼び出し

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

許可

このステートメントの 許可 ID が持つ特権には、DBADM 権限が含まれている必要があります。

構文

構文図を読む構文図をスキップするCREATE SERVERserver-name type-clauseWRAPPERwrapper-nameAUTHORIZATIONremote-authorization-namePASSWORDpasswordOPTIONS(,server-option-namestring-constant)
type-clause
構文図を読む構文図をスキップするTYPEserver-typeVERSIONserver-versionTYPEserver-typeVERSIONserver-version
server-version
構文図を読む構文図をスキップするversion.release.modversion-string-constant

説明

server-name
フェデレーテッド・データベースに対して定義するデータ・ソースの名前を指定します。 この名前は、カタログに記述されているデータ・ソースを指すものであってはなりません。 サーバー名は、フェデレーテッド・データベース内のいずれかの表スペースの名前と同じであってはなりません。

リレーショナル・データ・ソースのサーバー定義は、通常リモート・データベースを表します。 Oracle など一部のリレーショナル・データベース管理システムでは、 各インスタンス内に複数のデータベースを取ることが許可されていません。 その代わりに、各インスタンスはフェデレーテッド・システム内のサーバーを表します。

TYPE server-type
フェデレーテッド・データベースに対して定義されているデータ・ソースのタイプを指定し、使用されるデフォルト・ラッパーを決定します。
表 1. サーバー・タイプとデフォルト・ラッパー
データ・ソース タイプ デフォルト・ラッパー
Apache Hive HIVE ODBC
Cloudera Impala IMPALA ODBC
IBM BigInsights BIGSQL DRDA
IBM Db2® Warehouse on Cloud DASHDB DRDA
IBM Db2 on Cloud DASHDB DRDA
IBM Db2 Warehouse DASHDB DRDA
IBM Db2 Db2/LUW DRDA
Db2 for z/OS® Db2/ZOS DRDA
Db2 for IBM® i Db2/ISERIES DRDA
IBM Db2 Hosted Db2/LUW DRDA
IBM Db2 Server for VSE and VM Db2/VM DRDA
IBM PureData System for Analytics (旧称 Netezza) PDA (タイプ NETEZZA も使用可能ですが、非推奨です) ODBC
IBM PureData System for Operational Analytics Db2/LUW DRDA
IBM PureData System for Transactions Db2/LUW DRDA
JDBC JDBC JDBC
Microsoft SQL Server (ODBC ラッパーを使用) MSSQL_ODBC ODBC
ODBC ODBC ODBC
Oracle (ODBC ラッパーを使用) ORACLE_ODBC ODBC
Oracle Cloud ORACLE_CLOUD ODBC
一部のラッパーには、このパラメーターが必須です。例えば、DSN なしの接続モードで作動している ODBC ラッパーでは必須です。
VERSION
server-name に示されるデータ・ソースのバージョンを指定します。 一部のラッパーには、このパラメーターが必須です。
version
バージョン番号を指定します。 値は整数でなければなりません。
release
version で示されたバージョンのリリース番号を指定します。 値は整数でなければなりません。
mod
release で示されたリリースのモディフィケーション番号を指定します。 値は整数でなければなりません。
version-string-constant
バージョンの正式名称を指定します。 version-string-constant は単一値 (例えば、'8i') にすることができます。あるいは、versionrelease、そして該当する場合は mod を連結した値にすることができます (例えば、'8.0.3')。
WRAPPER wrapper-name
新しく作成されたサーバー・オブジェクトと対話するために、フェデレーテッド・サーバーが使用するラッパーの名前を指定します。 デフォルトは、リモート・サーバーのタイプに応じて決まります (表 1を参照)。
デフォルト・ラッパーがまだ存在しない場合は、SET Db2_FENCED 'Y' オプションによって作成されます。 デフォルト・ラッパーは一度だけ作成されます。 例えば、DRDA という名前のラッパーがまだ存在しないときに、2 つの CREATE SERVER ステートメント (BIGSQL サーバーを作成するものと Db2/ZOS サーバーを作成するもの) を発行した場合、どちらのサーバーのラッパー名も明示的に指定していなければ、DRDA という名前のデフォルト・ラッパーが最初のステートメントによって作成され、両方の新しいサーバーがそのラッパーを使用します。
注: 未作成のデフォルト・ラッパーと同じ名前のラッパーが (例えば CREATE WRAPPER ステートメントで作成されたために) 既に存在している場合、 そのラッパーは CREATE SERVER ステートメントのデフォルトとして使用されません。 この状態の場合、デフォルトは使用できないので、CREATE SERVER ステートメントにラッパー名を明示的に指定する必要があります。
AUTHORIZATION remote-authorization-name
IBM のデータベース・ソースにのみ必要です。CREATE SERVER ステートメントの処理時に、 必要なアクションをデータ・ソースで実行するときの許可 ID を指定します。 この許可 ID は、サーバーに対する後続の接続を確立するときには使用されません。

この ID には、実行するアクションに必要な権限 (BINDADD または同等の権限) がなければなりません。 remote-authorization-name が大文字小文字混合または小文字で指定される場合 (かつ リモート・データ・ソースに大/小文字の区別のある許可名がある場合) には、 remote-authorization-name を二重引用符で囲んでください。

PASSWORD password
IBM のデータベース・ソースにのみ必要です。remote-authorization-name で表された 許可 ID に関連付けられているパスワードを指定します。 password が大文字小文字混合または小文字で指定される場合 (かつ リモート・データ・ソースに大/小文字の区別のあるパスワードがある場合) には、 password を二重引用符で囲んでください。
OPTIONS
作成するサーバーの構成オプションを指定します。 指定可能なオプションは、サーバーの作成対象オブジェクトのデータ・ソースによって異なります。 データ・ソースとそれぞれに当てはまるサーバー・オプションのリストについては、データ・ソース・オプションを参照してください。 各オプション値は文字ストリング定数で、単一引用符で囲む必要があります。

  • データ・ソースがパスワードを必要とする場合は、 password を指定します。 password のいずれかの文字が小文字であれば、 password を引用符で囲みます。
  • CREATE SERVER ステートメントを使って IBM データベース・インスタンスをデータ・ソースとして定義する場合、ご使用のデータベースで、特定のパッケージをそのインスタンスにバインドしなければならないことがあります。 バインドする必要がある場合、 ステートメント内の remote-authorization-name に BIND 権限がなければなりません。 バインド操作の完了に要する時間は、データ・ソースの速度と ネットワーク接続の速度によって異なります。
  • 指定されたサーバー・バージョンがリモートのサーバー・バージョンと一致することを確かめる検査は行われません。 正しくないサーバー・バージョンを指定すると、データベース・サーバー定義に属するニックネームにアクセスするとき、SQL エラーが生じることがあります。その可能性が最も高いのは、リモートのサーバー・バージョンよりも後のサーバー・バージョンを指定する場合です。 その場合、サーバー定義に属するニックネームにアクセスすると、データベース・サーバーはリモート・サーバーが認識できないSQL を送信することがあります。
  • TYPE server-type は、DSN 接続モードではオプションですが、DSN なしの接続モードでは必須です。

  1. Oracle 9 データ・ソースにアクセスするためのサーバー定義を登録します。 CUSTOMERS は、Oracle サーバー定義に割り当てられる名前です。 NET8 は、このデータ・ソースにアクセスするために使用するラッパーの名前です。 さらに、以下のものを指定します。
    • ABC は、Oracle データベース・サーバーが置かれているノードの名前です。
    • フェデレーテッド・サーバーの CPU の動作速度が、 CUSTOMERS をサポートする CPU の 2 倍であること。
    • フェデレーテッド・サーバーの入出力装置のデータ処理速度が、 CUSTOMERS の入出力装置の 1.5 倍であること。
      CREATE SERVER CUSTOMERS
        TYPE ORACLE
        VERSION 9
        WRAPPER NET8
        OPTIONS
            (NODE 'ABC',
            CPU_RATIO '2.0',
            IO_RATIO '1.5')
  2. Excel ラッパーのサーバー定義を登録します。このサーバー定義は、フェデレーテッド・オブジェクトの階層を保持するために必要です。 BIOCHEM_LAB は Excel サーバー定義に割り当てられる名前です。 EXCEL_2000_WRAPPER は、このデータ・ソースにアクセスするために使用するラッパーの名前です。
      CREATE SERVER BIOCHEM_DATA
        WRAPPER EXCEL_2000_WRAPPER
        
  3. ODBC ラッパーのサーバー定義を登録します。DSN なしモードで Apache Hive にアクセスするには、サーバー・タイプを指定する必要があります。 HOST は Hive サーバー・アドレスです。 PORT は、このデータ・ソースにアクセスするために使用される接続ポート番号です。 PORT はオプション・パラメーターです。PORT が定義されていない場合、デフォルトの番号は 10000 です。
      CREATE SERVER HIVE_SERV TYPE HIVE
    		WRAPPER ODBC AUTHORIZATION ‘root’ PASSWORD ‘hadoop’
             OPTIONS (HOST ‘hives.cn.ibm.com’, PORT ‘10000’, 
                     DBNAME ‘default’, PASSWORD ‘Y’, PUSHDOWN ‘Y’)