Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

VisualStudioで開発したWebシステムのデータベース接続について、あれこれ

User_TXIPCJan 9 2013 — edited Jan 30 2013
Microsoftのフォーラムオペレータより、Oracle側で掲載すべきとのご見解を頂きましたので、利用させて頂きました。
たらい回しにならないと、いいのですが。(MSのフォーラムへ掲載したもの そのまま掲載致します)

ここでいうWebシステムは 自らVisualStudio2005上で開発したものですが、恥ずかしながら質問させて下さい。
自分の開発環境(端末x86)は現在VisualStudioが2012になり、継続して当該Webシステムのメンテナンスにあたっています。
実務=本番環境のWebサーバーはServer2008R2(x64)です。

開発環境と本番環境 各々のWeb.configに書かれた当該OracleDBのConnctionString部分:ProviderNameは、System.Data.OracleClientで同一です。

但し、assembliesの部分(参照設定の部分だと思う)は
開発環境のWeb.configにOracle.DataAccessの記述があるのに対し、本番環境のWeb.configにはその記述がありません。

あるページ中のDropDownListに、OracleDBの内容を収めて表示することを達成していますが、そのSQLDataSoureになっているのは

ProviderName=System.Data.OracleClientの先ほどのConnectionStringで達成されたSelect結果です。(.aspx上、当該SQLDatasourceのProviderNameに接続文字列に続いて".ProviderName"という文字が付加されている、いつの間にか。ま、これはいいか)


また同ページでは、ユーザ入力値の妥当性を確認するため、OracleDBのあるテーブルへ入力内容の存在チェックを図るロジックが組まれています。

当該ページの頭にOracle.Dataaccess.clientとOracle.DataAccess.TypesのImportsが記述され、実際のデータ取得部分では

Using _cn As New OracleConnection(CnString)という記述がなされています。



【質問①】
上記背景から、画面コントロール部分はSystem.Data.OracleClientの接続、内部ロジックはODP.Netでの接続で達成されている認識です。(あってる?)

本番環境でも、Web.Configに参照の記述がないに関わらずODP.NETを活かしたロジックの動作が達成されている理由はなぜですか?
本番環境には、稼動当初インストールしたODAC(旧Ver)がインストールがされています。



開発当初、自らの端末にOracleのODACをインストールしたに関わらず、ツールボックスへODP.NETを活かすアイコンが現れず やむなく
.NetFramework Oracle用プロバイダを選択して接続文字列を作り、先に進めた記憶があります。これが上記で言及したDropDownListなどの成果物だと思います。本来ロジックだけでなく、画面設計(DropDownList等)にもODP.NETを駆使した開発を行いたかったのですが、断念してこの回避策をとりました。

今回VisualStudioを2005から2012にVerUPしたことを受け、OracleDBは10gのままであるものの、新たなODACを開発環境へインストールしました。
2005時代はODACをインストールしたところで、サーバーエクスプローラーにODP.NETのプロバイダが現れることはありませんでしたが
今回は表示されるようになりました。だいぶいい感じで...した。


【質問②】
言及した過去に作ったWebページ内のロジック:New OracleConnection部分でエラーになるようになってしまいました。(すみません、具体性なく)
Ver違いのODACをインストールしたことが災いした、と考え(...ビビリ)、即 後にいれたODAC(1120320)をアンインストールしました。
なぜ、エラーになったのでしょうか? 慌てて作業して覚えていないのですが、ODAC(1120320)をアンインストール後 WebConfigも従来動作していたバックアップから戻して復旧にこぎつけました。不用意な参照設定が書かれていたのかも知れません。
後VerのODACをインストールし、一端末中で旧Verと共存させ、かつて開発したODP.NETを駆使したWebページを無事動作させるには如何したらよろしいでしょうか?




【質問③】
一番お聞きしたいことです。開発環境のODACを最新化して、VS上でそれを駆使して何かを作り 本番に移行を果たそうとする場合
本番環境も同VerのODACをインストールする必要がありますか?

インストールが必要な場合、本番環境でもODACのVer違いの共存で悩まされたりしないか?解決策はありますか?



長々とすみません、お手透きの方 ご見解をよろしくお願い致します。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 27 2013
Added on Jan 9 2013
6 comments
13,472 views