こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

windows 2008 server にiisをインストールしてas

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でフルコントロール権限をつけてみましたが、改善しませんでした。

投稿日時 - 2010-04-26 20:36:14

QNo.5853466

暇なときに回答ください

質問者が選んだベストアンサー

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サーバと同じ?
・ネットワークはドメイン環境?

投稿日時 - 2010-04-27 13:42:02

ANo.1

このQ&Aは役に立ちましたか?

16人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

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

投稿日時 - 2010-05-20 22:36:23

あなたにオススメの質問