- PR -

webサーバで実行するとOracle接続できない

投稿者投稿内容
TOM
会議室デビュー日: 2008/05/27
投稿数: 9
投稿日時: 2008-05-27 15:59
初めて投稿します。WEB初心者です。
原因がつかめず困っております。
宜しくお願いします。

環境:
VS2005(VB)
WEBサーバ:Win2000 SP4
IIS5.0
Framework:v1.1とv2.0混在(エラーはV2.0)
Oracleクライアント:8.1.7
WEBサーバとは別にDBサーバがあります。

開発環境(WinXPPro)のVS2005から実行すると問題なく、
Oracleへ接続できるのですが、WEBサーバにコピーして
WEBサーバからI.Eで実行するとエラーとなります。
・WEBサーバからのsqlplusはつながります
・Oracle_Homeに対してはEveryoneのフルコントロール付与済み。

エラーメッセージ:
アプリケーションでサーバー エラーが発生しました。
System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です。

スタックトレース:
[Exception: System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です。]
System.Data.OracleClient.OCI.DetermineClientVersion() +554
System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName) +30
System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions) +142
System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +37
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +429
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +70
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +512
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +85
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +102
System.Data.OracleClient.OracleConnection.Open() +34
Login.LoginButton_Click(Object sender, EventArgs e) in C:\Inetpub\wwwroot\webtest2005\Login.aspx.vb:37
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


もん吉
常連さん
会議室デビュー日: 2008/05/16
投稿数: 36
投稿日時: 2008-05-27 19:36
はじめまして。
もん吉と申します。

SQLPlusからはつながるということなので
オラクルクライアントの設定は問題なさそうです。

勘ですがMDACのバージョンはどうなっていますか?
http://msdn.microsoft.com/ja-jp/library/2d7h4ycx(VS.80).aspx

2.6以上でないと使えないようですが・・・。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-05-28 02:13
引用:

TOMさんの書き込み (2008-05-27 15:59) より:
スタックトレース:
[Exception: System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です。]



メッセージから察するところ、Oracleクライアントのバージョンが古いからではないでしょうか?
ODP.NETを利用していてかつバージョンアップ可能でしたら、もう少し新しいバージョンを入れてみてはいかがでしょう?

http://www.oracle.com/technology/global/jp/software/tech/windows/odpnet/index.html
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-05-28 09:24
過去にも同様のスレッドがあり、そのときはORACLE_HOMEフォルダ配下のアクセス権限が原因だったようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33584&forum=7&2

参考になれば。
もん吉
常連さん
会議室デビュー日: 2008/05/16
投稿数: 36
投稿日時: 2008-05-28 09:31
引用:

rainさんの書き込み (2008-05-28 09:24) より:
過去にも同様のスレッドがあり、そのときはORACLE_HOMEフォルダ配下のアクセス権限が原因だったようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33584&forum=7&2

参考になれば。



あ、フォルダ配下ですか。
今回もこれが原因なのかな?

それにしてもODP.NETが8.1.7でも動くとは知りませんでした。
勉強になりました。

[ メッセージ編集済み 編集者: もん吉 編集日時 2008-05-28 09:34 ]
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-05-28 09:48
引用:

もん吉さんの書き込み (2008-05-28 09:31) より:

それにしてもODP.NETが8.1.7でも動くとは知りませんでした。
勉強になりました。



私が勘違いしているのかもしれませんが、System.Data.OracleClient は .NET Framework Oracle 用データ プロバイダであって、ODP.NET とは違うものだと思ったのですが…。
もん吉
常連さん
会議室デビュー日: 2008/05/16
投稿数: 36
投稿日時: 2008-05-28 10:09
引用:

rainさんの書き込み (2008-05-28 09:48) より:
引用:

もん吉さんの書き込み (2008-05-28 09:31) より:

それにしてもODP.NETが8.1.7でも動くとは知りませんでした。
勉強になりました。



私が勘違いしているのかもしれませんが、System.Data.OracleClient は .NET Framework Oracle 用データ プロバイダであって、ODP.NET とは違うものだと思ったのですが…。



すいません。その通りです。
私の書き方がまずかったです(^^;
私はGENZOさんのレスを見て
「あれ?ODP.NETで8.1.7で使えたっけ?」
と思って調べたら使えたと・・・。

そういうわけです。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-05-28 23:27
引用:

私が勘違いしているのかもしれませんが、System.Data.OracleClient は .NET Framework Oracle 用データ プロバイダであって、ODP.NET とは違うものだと思ったのですが…。


いえ、わたしの勘違いでした。System.Data.OracleClientは.NET標準ですね。

スキルアップ/キャリアアップ(JOB@IT)