- PR -

(ASP.NET 2.0) DBに接続できない。 セキュリティ設定とは

1
投稿者投稿内容
terasawa
会議室デビュー日: 2006/09/04
投稿数: 2
投稿日時: 2006-09-04 15:31

(言語)
ASP.net 2.0

(開発環境)
Windows XP SP2
Visual Web Developer2005

(本番環境)
Windows 2003server SP1

(DB)
Oracle8i
SqlServer2005


お世話になります。
現在、WEBサイトを作っています。

開発環境においてSqlDataSourceコントロールを用いて、
Gridviewにデータを一覧表示させる仕組みをつくりました。
デバッグ実行した所、期待通りの動作が確認できました。

ところが、これを本番環境に移行したところ以下のようなエラーが表示されてしまい、
OracleDBに接続することができません。

尚、開発環境でIISを利用し実行してみた所、正常に動作しました。

何か本番環境に設定が必要なのでしょうか?
よろしくお願いします。


<以下、エラーの内容>
*******************************************************************************アプリケーションでサーバー エラーが発生しました。

セキュリティ設定により、ID 'SqlDataSource' が指定されたデータ ソースで
ADO.net マネージ プロバイダ 'OracleClientFactory' へのアクセスが拒否されました。

[HttpException (0x80004005): セキュリティ設定により、ID 'SqlDataSource' が指定されたデータ ソースで ADO.net マネージ プロバイダ 'OracleClientFactory' へのアクセスが拒否されました。]
System.Web.UI.WebControls.SqlDataSource.GetDbProviderFactorySecure() +1836698

スタック トレース:

[HttpException (0x80004005): セキュリティ設定により、ID 'SqlDataSource' が指定されたデータ ソースで ADO.net マネージ プロバイダ 'OracleClientFactory' へのアクセスが拒否されました。]
System.Web.UI.WebControls.SqlDataSource.GetDbProviderFactorySecure() +1836698
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +120
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +17
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +149
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +69
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +41
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

******************************************************************************






Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-09-04 22:12
え???
引用:

開発環境においてSqlDataSourceコントロールを用いて、
Gridviewにデータを一覧表示させる仕組みをつくりました。
デバッグ実行した所、期待通りの動作が確認できました。

ところが、これを本番環境に移行したところ以下のようなエラーが表示されてしまい、
OracleDBに接続することができません。

尚、開発環境でIISを利用し実行してみた所、正常に動作しました。

[HttpException (0x80004005): セキュリティ設定により、ID 'SqlDataSource' が指定されたデータ ソースで ADO.net マネージ プロバイダ 'OracleClientFactory' へのアクセスが拒否されました。]


 SQL Server 用のコンポーネント(System.Data.SqlClient 名前空間)を用いて、Oracle にアクセスしようとしている?

開発環境で接続できるのが、おかしいように思う。。。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-04 23:02
引用:

Jittaさんの書き込み (2006-09-04 22:12) より:

 SQL Server 用のコンポーネント(System.Data.SqlClient 名前空間)を用いて、Oracle にアクセスしようとしている?


SqlDataSource は System.Web.UI.WebControls だと思いますよ。
http://msdn2.microsoft.com/ja-JP/library/system.web.ui.webcontrols.sqldatasource.aspx

で、問題のほうはたぶんですいませんが、またORACLE_HOMEへの権限問題な気がします。
terasawa
会議室デビュー日: 2006/09/04
投稿数: 2
投稿日時: 2006-09-06 19:30

返信ありがとうございます。
SqlDataSourceコントロールは、かるあ様ご指摘のWebControlsを使っています。

申し訳ないのですが教えてください。
ORACLE_HOMEへの権限とはどのようなものでしょうか?


以下の事は試してみましたがエラーに変化はありませんでした。
・アプリサーバのOracleフォルダに
 『Autheticated Users』権限付与
(的外れでしたらご容赦ください)

よろしくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-06 20:11
引用:

terasawaさんの書き込み (2006-09-06 19:30) より:

以下の事は試してみましたがエラーに変化はありませんでした。
・アプリサーバのOracleフォルダに
 『Autheticated Users』権限付与
(的外れでしたらご容赦ください)


ASP.NET を動作させているユーザに権限を付加します。
Oracle の KROWN にこんな記述があります。
http://support.oracle.co.jp/krown_external/oisc_showDoc.do?id=53344
_________________
かるあ のメモスニペット
1

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