WalkingAlone

4 クライアントからの接続設定(2)

本ページではクライアント側からサーバに接続するためのクライアント側の接続手順を記載します。

1 サーバ側の設定
2 クライアント側の設定


前提

クライアント側からサーバに接続するためにはoracleクライアントと呼ばれるプログラム群がクライアントにインストールされている必要があります。 oracleクライアントはサーバソフトウエア(enterprise editionやstandard edition等のデータベースを起動するためのソフトウエア)に含まれているため サーバソフトウエアが入っていれば追加インストール等は不要ですが、サーバに対して接続するだけの端末用にクライアントソフトウエアのインストールメディアが別に用意されています。

また、クライアントソフトウエアから接続以外に不要なプログラムを除いた最小構成のインストール不要なインスタントクライアントというソフトウエアもOTN上で配布されています。 本ページはクライアントソフトウエアがインストールされた状態を想定しています。

接続設定1(tnsnames.oraによる接続)

tnsnames.oraはサーバの接続先定義を記載するファイルでこの設定ファイルに設定を追加することでクライアントは接続先の詳細情報をプログラムに書き込まずに接続することができます。 java(※)以外のプログラム言語で書かれたクライアントプログラムはデフォルトで以下のファイルを読み込もうとします。
※・・・javaの場合はデフォルトではtnsnames.oraを読み込まずソースやAPサーバのプロパティファイル等に直接接続先情報を記載します

・unix系
$ORACLE_HOME/network/admin/tnsnames.ora

・Windows
%ORACLE_HOME%/NETWORK/ADMIN/tnsnames.ora

※・・・環境変数TNS_ADMINを設定した場合上記パスが上書きされます。また、windowsの場合プログラムのカレントディレクトリにtnsnames.oraがあった場合 そちらを優先して読み込む場合があります。

以下は「WIN1」という接続先hostに対してポート1521のリスナへ「ORCL102」というサービス名のデータベースに対して接続する設定です。 この設定を行うことでプログラムが接続する場合に「TEST」という接続識別子を渡すだけで指定したデータベースに接続を試みます。
TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = WIN1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL102)
    )
  )
tnsnames.ora

接続識別子をどのように記載するかは各プログラム言語やミドルウエア毎に異なりますのでミドルウエア概要ページ等を参考にしてください。 sqlplusの場合は以下のように記載します。

sqlplus user/pass@接続識別子

接続設定2(tnsnames.oraの定義を直接渡す接続)

通常tnsnames.oraに記載する定義をプログラムに直接渡すこともできます。上記例だと以下のようになります。

sqlplus user/pass@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=WIN1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL102)))

接続設定3(簡易接続ネーミング・メソッドによる接続)

接続設定1の方法はtnsnames.oraを各クライアントに設定する必要がありますが、10g以降のクライアントには簡易接続ネーミング・メソッドという機能が追加されておりtnsnames.oraの設定をせずに接続することができます。 接続方法は接続識別子の代わり以下を設定するのみです。

hostname:port番号/サービス名

例えばsqlplusでは以下のよう入力します。 sqlplus user/pass@localhost:1521/ORCL102
カスタム検索

★ORACLE案件承ります★