dblink_ora は、次の関数とプロシージャをサポートしています。
dblink_ora_connect()
dblink_ora_connect() 関数は、ユーザー指定の接続情報を使用して Oracle データベースへの接続を確立します。 この関数には 2 つの形式があります。 1 つ目の形式のシグネチャは次のとおりです。
dblink_ora_connect(conn_name, server_name, service_name, user_name, password, port, asDBA)
説明:
- conn_name は、リンクの名前を指定します。
- server_name は、ホストの名前を指定します。
- service_name は、サービスの名前を指定します。
- user_name は、サーバーへの接続に使用する名前を指定します。
- password は、ユーザー名に関連付けられたパスワードを指定します。
- port は、ポート番号を指定します。
Oracle サーバーで SYSDBA の権限を要求する場合、asDBA は True です。 このパラメーターは省略可能です。 省略した場合、値は FALSE になります。
dblink_ora_connect() の 1 つ目の形式は、TEXT 値を返します。
dblink_ora_connect() 関数の 2 つ目の形式のシグネチャは次のとおりです。
dblink_ora_connect(foreign_server_name, asDBA)
説明:
foreign_server_name は、外部サーバーの名前を指定します。
Oracle サーバーで SYSDBA の権限を要求する場合、asDBA は True です。 このパラメーターは省略可能です。 省略した場合、値は FALSE になります。
dblink_ora_connect() 関数の 2 つ目の形式では、サーバーへの接続を確立するときに、事前に定義した外部サーバーの接続プロパティを使用できます。
dblink_ora_connect() 関数の 2 つ目の形式を呼び出す前に、CREATE SERVER 文を使用して、システムテーブルへのリンク用の接続プロパティを保存します。 dblink_ora_connect() 関数を呼び出すときは、リンクの名前の代わりに CREATE SERVER 文で指定されたサーバー名を使用します。
dblink_ora_connect() の 2 つ目の形式は、TEXT 値を返します。
dblink_ora_status()
dblink_ora_status() 関数は、データベースの接続ステータスを返します。 dblink_ora_status() のシグネチャは次のとおりです。
dblink_ora_status(conn_name)
説明:
conn_name は、リンクの名前を指定します。
指定した接続がアクティブな場合、関数は、OK の TEXT 値を返します。
dblink_ora_disconnect()
dblink_ora_disconnect() 関数は、データベース接続をクローズします。 dblink_ora_disconnect() のシグネチャは次のとおりです。
dblink_ora_disconnect(conn_name)
説明:
conn_name は、リンクの名前を指定します。
関数は TEXT 値を返します。
dblink_ora_record()
dblink_ora_record() 関数は、データベースから情報を取得します。 dblink_ora_record() のシグネチャは次のとおりです。
dblink_ora_record(conn_name, query_text)
説明:
- conn_name は、リンクの名前を指定します。
- query_text は、Oracle サーバーで呼び出される SQL SELECT 文のテキストを指定します。
関数は SETOF レコードを返します。
dblink_ora_call()
dblink_ora_call() 関数は、Oracle データベースで非 SELECT 文を実行し、結果セットを返します。 dblink_ora_call() のシグネチャは次のとおりです。
dblink_ora_call(conn_name, command, iterations)
説明:
- conn_name は、リンクの名前を指定します。
- command は、Oracle サーバーで呼び出される SQL 文のテキストを指定します。
- iterations は、文が実行される回数を指定します。
関数は SETOF レコードを返します。
dblink_ora_exec()
dblink_ora_exec() プロシージャは、リモートデータベースで DML または DDL 文を実行します。 dblink_ora_exec() のシグネチャは次のとおりです。
dblink_ora_exec(conn_name, command)
説明:
- conn_name は、リンクの名前を指定します。
- command は、Oracle サーバーで呼び出される SQL の INSERT、UPDATE、または DELETE 文のテキストを指定します。
関数は VOID を返します。
dblink_ora_copy()
dblink_ora_copy() 関数は、Oracle テーブルを Oracle と互換性のある PolarDB データベースのテーブルにコピーします。 dblink_ora_copy() 関数は、コピーされた行数を表す BIGINT 値を返します。 dblink_ora_copy() のシグネチャは次のとおりです。
dblink_ora_copy(conn_name, command, schema_name, table_name, truncate, count)
説明:
- conn_name は、リンクの名前を指定します。
- command は、Oracle サーバーで呼び出される SQL の SELECT 文のテキストを指定します。
- schema_name は、ターゲットのスキーマの名前を指定します。
- table_name は、ターゲットのテーブルの名前を指定します。
- truncate は、サーバーでコピー前にテーブルを切り捨てる必要があるかどうかを指定します。 サーバーでテーブルを切り捨てる必要があることを示すには、TRUE を指定します。 このパラメーターは省略可能です。 省略した場合、値は FALSE になります。
- count は、n レコードごとにステータス情報を報告するようサーバーに指示します。n は指定された数です。 関数の実行中に、Oracle と互換性のある PolarDB データベースで、カウントの反復ごとに INFO の重大度の通知が生成されます。 たとえば、FeedbackCount が 10 の場合、dblink_ora_copy() は 10 レコードごとに通知が生成されます。 このパラメーターは省略可能です。 省略した場合、値は 0 になります。