お知らせ

電子会議

ライブラリ

FDelphi サイト全文検索

Delphi FAQ一覧

サンプル蔵



FDelphi FAQ
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」

[Q]
Delphi2.0Jと、Oracle7をSQL*Netで接続したいのですが どうすればいいのでしょうか?

[A]

まず、必要なものを確認します。

Delphi2.0J Client/Server Suite
SQLLink for ORACLE 3.0 (Delphi2.0J C/S Suiteに付属)
SQL*NetV2.x for Windows95

が必要です。
Developer版によるODBC経由での接続については、当方で確認できていません。
又、サーバー側の動作確認は必ず済ませておいて下さい。
(よくあるのが、ループバックテストをしていないケースです。
 特にUNIX版をお使いの方は、必ず/etc/servicesへのPORTの記述や
 listener.oraの記述、更にListenerの動作確認をして下さいね)

接続の設定は、次の手順で行ないます。

1.SQL*NetV2.x for Windows95(以下SQL*Net)のインストール

  ここでは、デフォルトでインストールしたものとします。
  ですから、SQL*Netは C:\ORAWIN95 の下にインストールされているものとします。
2.TNSNAMES.ORAの作成を行なう。

  SQL*Net Easy Configurationを使って、接続先の設定を行ないます。
  もし、Easy Configurationがないバージョンの場合は、
  TNSNAMES.ORAファイルをC:\ORAWIN95\network\adminの下に作ります。
  以下に、参考例を載せておきます(TCP/IPプロトコルの場合)。

ORA_TEST =
   (DESCRIPTION =
     (ADDRESS_LIST =
         (ADDRESS =
           (PROTOCOL = TCP)            <===  ここは各プロトコルに合わせて下さい
          (Host = 127.0.0.1)          <===  サーバーのIPアドレスorホスト名
          (Port = 1521)               <===  サーバー管理者に確認してみて下さい
        )
    )
    (CONNECT_DATA = (SID = ORCL)      <===  接続するOracle7のSIDです
    )
  )

  
3.接続の確認

  SQL*Plus for Windows95(3.2)を使用して、又は、SQL*Net単体購入の場合は
  何らかの接続確認用のアプリケーションが付属しているはずなので、
  それらを使ってOracle7との接続の確認を行ないます。
  SQL*Plusは、スタートメニューで、
  [プログラム|Oracle7 for Windows95|SQL Plus 3.2]を選択します)
  SQL*Plusが起動したら、
  ユーザー名 = SCOTT
  パスワード = TIGER 
  ホスト文字列= TNS:ORA_TEST  <===  これは、上のTNSNAMES.ORAの場合です。
  を入力します。

  接続:
  Personal Oracle7 Release 7.2.2.3.1 - Production
  With the distributed and replication options
  PL/SQL Release 2.2.2.3.1 - Production

  という表示が出ればOKです。
  (この例では、Personal Oracle7ですが、
   各製品によって表示は多少異なります。
   この例を出すためだけに、会社にダイアルアップする根性はない^^;)

3.Delphi2.0Jのインストール

  ここでは、デフォルトでインストールされたものとします。

4.SQLLink for ORACLEの設定

  BDE環境設定を起動して、ドライバページを開きます。
  次に、ドライバ名の中から、ORACLEを選択します。
  そして、以下のパラメータを変更します。

  VENDOR INIT = ORA72.DLL  <== ※ 場合によってはORA73.DLL
                                         (C:\ORAWIN95\BINの下を見て下さい)
  NET PROTOCOL = TNS     <== ※ TNS: では無い事に注意

  注意! NT上のSQL*Netの場合は、異なるDLLを使う場合があります。
      必ずBINの下を見て下さい。
  (もっとも、NTの場合はC:\ORANTと既にデフォルトのディレクトリが
   違うんですけどね^^;;)

  更に、エリアスページに切り替えて、[新規エリアス]ボタンを押します。
  新規エリアスには、次のように設定します。

  新規エリアス名 = ORADELPHI <== ※ 何でもOKですがここでは便宜上
  エリアスの種類 = ORACLE

  続いて、作成したエリアスを選択してパラメータの設定を行ないます。

  SERVER NAME = ORA_TEST   <== ※ TNSNAMES.ORAの設定です
  NET PROTOCOL = TNS    <== ※ TNS: では無い事に注意
  USER NAME  = (取り敢えず、SCOTTにするか空白でいいでしょう)

  そして、上書き保存してBDE環境設定を終了します。

以上で、設定は完了です。
Delphi2を起動して、TTableコンポーネントなどを使用して、
接続を確認してみて下さい。

もし、繋がらない場合は、以下の点を確認して下さい。

1.パスが、C:\ORAWIN95\BIN に通っているか?

  ORA72.DLL(又はORA73.DLL)というファイルをOracle7との接続に
  使用しているのですが、このファイルのありかは通常、
  C:\ORAWIN95\BINとなります。

2.接続確認にデータベース・エクスプローラを使ってないか?

  Delphi2のDatabase Explorerは、Delphi2のIDEの中から起動しないと
  リモートSQLデータベースに接続できないようです。
  TTableや、TQueryを使って確認してみて下さい。
  但し、SBORLANDのライブラリにあるパッチを当てるか、又は、
  2.01J(ISP付きのもの)の場合は、直接起動しても繋がります。


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。

Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会