This discussion is archived
2 Replies Latest reply: Jul 24, 2012 7:04 PM by 951276 RSS

Oracle9i R2 + ODP.NET +.NET(VB2010) 接続できない

951276 Newbie
Currently Being Moderated
お世話になります。

Oracle9i R2のDBにVB2010+ODP.NETで接続したいと考えております。

既存環境:
Windows XP Pro
Oracle Client(Oracle 9i R2の媒体からインストールしたもの)
 インストールフォルダ:c:\oracle\Ora92
 ホーム名:OraHome92。 いずれもインストール時のデフォルト
tnsnames.oraを設定し、別マシンのOracle9i R2のDBに、VB6.0+oo4oにて接続しております。
もちろんSQLPlusからも接続できます。

やったこと:
ODP.NET(Release 11.2.0.3.0 Production)のインストール
 インストール時のコマンド: 「install.bat odp.net4 c:\oracle OraHome92」
 c:\oracle\odp.netフォルダが作成されております。
.NET Framework4のインストール
VB2010の参照にc:\oracle\odp.net\bin\4\Oracle.DataAccess.dllを追加

VB2010のプログラムより接続を試みると、
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした.」
と出ます。
※類似の質問がタイムリーに上がっていますが、当方、何かが「落ちる」ことはありません。

ちなみに環境変数には
 C:\oracle\ora92\bin;
 C:\Program Files\Oracle\jre\1.3.1\bin;
 C:\Program Files\Oracle\jre\1.1.8\bin;
が入っています。

SQL Plusより、USER=DSERVER,PASS=DS,ホスト=DSERVER_Aでつながるため、
VB2010のコードにて
Cnn.ConnectionString = "user id=DSERVER;password=DS;data source=DSERVER_A"
としています。

tnsnames.oraの抜粋
DSERVER_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = JDB)
(SERVER = DEDICATED)
)
)

どうやらVB2010にてOracle.DataAccess.dllはうまく読み込めているようなのですが、
・そもそもodp.netのインストールが正しくできているか
・VB2010からOracle.DataAccess.dll経由でtnsnames.oraにアクセスできているか
等、どのように確認すればよいでしょうか・・・。
そもそも根本的な思い違いをしているのでしょうか・・・。
アドバイス頂けたら大変ありがたいです。

よろしくお願いいたします。
  • 1. Re: Oracle9i R2 + ODP.NET +.NET(VB2010) 接続できない
    hamadeguchi Newbie
    Currently Being Moderated
    ↓の一番上の回答のやり方で繋がりますか?
    http://stackoverflow.com/questions/7615330/odp-net-doesnt-work-system-data-oracleclient-does
    一番下の回答のリンク先にありますが、ホームが別管理になるそうです
  • 2. Re: Oracle9i R2 + ODP.NET +.NET(VB2010) 接続できない
    951276 Newbie
    Currently Being Moderated
    情報ありがとうございます!
    早速やってみます。
    取り急ぎお礼まで。

    -----
    【続】

    ありがとうございます!!

    data source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.11.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=JDB)))

    で、とりあえず繋がりました。おかげさまで1歩前進いたしました。

    ODP.NETは、なんとかインストールできていたものの、
    tnsnames.oraが読めていなかったということですね。

    ホーム管理は別・・・ホームを別にインストールしたわけではなく
    既にあるホームに上乗せインストールをした気でおりましたが・・・。

    tnsnames.oraが読めるようになれば幸せなのですが
    ODP.NETで管理されているホーム?にコピーすることになるのでしょうか・・・

    頂きました英語のリンクFAQをまだ全て読めていないので、
    とにかく読んできます。

    Edited by: 948273 on 2012/07/24 18:48

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points