dポイントプレゼントキャンペーン実施中!

windows 2008 server にiisをインストールしてasp.netを使用しています。asp.netは動作するのですが、oracleへの接続ができません。oracle clientをインストールしsqlplusでの接続はできますが、asp.netでoracleへ接続すると以下のエラーがでます。

'MSDAORA' プロバイダはローカルのコンピュータに登録されていません。


エラーは以下3行だけで出ます。

Dim cn As New OleDb.OleDbConnection 'Oracle接続用オブジェクト
cn.ConnectionString = "Provider=MSDAORA;Data Source=XXXXX;Persist Security Info=True;Password=XXXXX;User ID=XXXXX"
cn.Open() 'ここでエラーになる

MSDAORAを使用するためには特別な設定が必要なのでしょうか?

Windows 2008 Server 64bit
IIS7 + .Net Framework 3.0
Visual Studio 2008
Oracle 10g


なおネットで調べたところOracleクライアントのインストールフォルダに権限がついていない場合、エラーが起きるとわかりました。そこでOracleクライアントのフォルダにeveryoneでフルコントロール権限をつけてみましたが、改善しませんでした。

A 回答 (2件)

2008でのサーバは立てたことが無いので、解決には至らない発言かもしれませんが、、、




web.configを改造して、ユーザを偽装してつながったら、権限の問題ではないはずです。

IISのコンパネで、ASP.NET構成ファイルを編集するか、下のように直接system.webを編集し、identityを追加してみてください。
(FrameWork2.0でしかやってませんが、根本は同じはず)


~かなり略してます~
identityのところだけ重要
<?xml version="1.0"?>
<configuration>
<appSettings />
<connectionStrings/>
<system.web>
<identity impersonate="true" userName="administrator等のユーザ" password="ぱすわーど" />
<他いろいろ />
</system.web>
</configuration>

これでつながらなければ、別の要素でつながらないことになると思います。

ちなみに
・DBはIISサーバと同じ?
・ネットワークはドメイン環境?
    • good
    • 0

OLEDBをお使いのようですが、ODP.netを使用してもつながりませんでしょうか?



あと、ObjectDataSourceで同じDBに接続できませんか?
できないようでしたら、Oracle NetとIIS間で通信できてないかもです。
    • good
    • 0

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