PL/SQLでデータベース接続を設定する方法を教えてください
データベース接続をPL/SQLで設定するには、データベース・リンクと呼ばれるオブジェクトを利用します。データベース・リンクとは、あるデータベースの別のデータベースへのポインタであり、あるデータベース内で別のデータベースのオブジェクトにアクセスできるようにします。
データベースリンクを構成するには、次の手順に従ってください。
- SYSまたはSYSTEMユーザーを使用して、データベースリンクを作成するデータベースにログインします。
- 以下のSQL文を実行して、データベース接続を作成します。
CREATE DATABASE LINK link_name
CONNECT TO remote_username IDENTIFIED BY remote_password
USING 'tns_entry';
link_nameはデータベースリンク名、remote_usernameとremote_passwordはリモートデータベースのユーザー名とパスワード、tns_entryはリモートデータベースのTNSサービス名(tnsnames.oraファイルに記載されています)です。
- データベースリンクを作成した後は、PL/SQLコード中でそのデータベースリンクを使用してリモートデータベース内のオブジェクトにアクセスできるようになります。 例えば、リモートデータベースにある表を以下のようにして問い合わせることができます。
SELECT * FROM remote_table@link_name;
そのうち、remote_table はリモートデータベースのテーブル名、link_name は以前に作成したデータベースリンク名です。
データベースリンクを作成するユーザーは、リモートデータベースにアクセスするための十分な権限を持っていなければならないことに注意してください。さらに、ローカルデータベースがリモートデータベースのネットワークにアクセスできることを確認する必要があります。