プロが教えるわが家の防犯対策術!

OS:XP
開発:VB 2008 .NET Framework 2.0 MDAC2.5
DB:Oracle9i(サーバー)、Oracle8i(クライアント)

以下のようにOracle Provider for OLEDBで接続を試みるもエラーに
なります。

Dim con As New OleDbConnection()
con.ConnectionString = "Provider=OraOLEDB.Oracle;User Id=scott;" & _
"Password=tiger;Data Source=Oracle;OLEDB.NET=True;"
con.Open

結果は、「'OraOLEDB.Oracle'プロバイダーはローカルのコンピュータ
に登録されていません。」のエラーになります。

環境変数のPATHに、[OralceHome]\binは定義されていますし、Oracle
Provider for OLEDB はインストールされているのを確認しました。

因みにですが、ODP.NETでの接続ができるのですがよく分からない
状態です。あまり.NETやOracleの知識がないので詳しく伝えれないの
ですが、デバッグ実行時はエラーになるのに、EXE単体で実行した場合
には問題なく接続できている状態です。ODP.NETは、クライアントが
Oracle9R2からだったら使えるようなことがどこかに書いてあったので
このようにデバッグ時とEXE単体実行時で異なるのかと思います。
デバッグ時には、接続オープンエラーになります。

そのような経緯でOLEDB.NETでは、正常に動作するであろうと思い修正
に踏み切ったのですが、うまくいきません。.NET側での参照設定などの
設定がいけないのでしょうか?それとも他に原因があるのでしょうか?

かなり悩んでいるので原因と対処方法の分かる方がおられましたら、
ご教授よろしくお願い致します。

A 回答 (1件)

Gui toolで接続できるか確認してみては、どうですか。


http://kuronekosoft.ewinds.net/

http://www.hi-ho.ne.jp/tsumiki/

この回答への補足

Oracle Provider for OLE DBが正しくインストールされてなかった
みたいで、Oracleをインストールし直したら教えていただいたツール
で接続できました。ありがとうございました。

ただ、con.Open箇所でデバッグ実行時にエラーになるのは、OLEDB.NET
でもODP.NETでも変わりありません。「ORA-06413 接続がオープンして
いません。」のエラーが出ます。

.NETの知識がまだまだなのですが、Oracleでは、デバッグ実行できない
ものなのでしょうか?SQLServerでは普通にデバッグ実行できるのですが。

教えて下さい。

補足日時:2009/11/25 11:52
    • good
    • 0
この回答へのお礼

開発環境のフォルダーに空白文字などがあると、接続エラーになると
いうのをネットを検索していたら出てきました。

解決しました。
ありがとうございました。

お礼日時:2009/11/25 12:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています