- PR -

ODP.NETでコンパイルエラー

1
投稿者投稿内容
まなか
常連さん
会議室デビュー日: 2008/04/17
投稿数: 37
投稿日時: 2008-04-18 09:32
Visual Web Developer 2005(以下VMD)で開発をしています。
VMDでデバック実行時はエラーにならないのですが、
wwwroot下のアプリケーション作成されたフォルダにwebサイトのコピー後、
URL指定で実行すると下記のエラーになります。

-------------------------------------------------------------------------------
コンパイル エラー
説明: この要求を送信するために必要なリソースをコンパイル中に、
エラーが発生しました。以下のエラーの詳細を確認して、ソース コードを
修正してください。

コンパイル エラー メッセージ: BC30002: 型 'OracleConnection' が
定義されていません。

ソース エラー:
行 15: Dim Conn As OracleConnection
-------------------------------------------------------------------------------
Oracle.Data.Accessの参照設定もしておりますし、
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
も記述しております。

web.configには

<add assembly="Oracle.DataAccess, Version=9.2.0.2102, Culture=neutral, PublicKeyToken=89B483F429C47342"/></assemblies>

とあります。

aspxには
<%@ import Namespace="Oracle.DataAccess.Client" %>
と追加もしてみました。

App_Code内に作成したクラスでのエラーとなってます。
ちなみにアプリケーションの作成をしてあるフォルダの直下に
BinフォルダとApp_Codeフォルダを置いて、aspxは別フォルダに入ってます。

ネットで検索もしてみましたが…
ご教授いただけるとありがたいです。


[ メッセージ編集済み 編集者: まなか 編集日時 2008-04-18 10:04 ]
indigo-x
大ベテラン
会議室デビュー日: 2008/02/21
投稿数: 207
お住まい・勤務地: 太陽の塔近く
投稿日時: 2008-04-18 21:10
実機にODP.NETがインストールされていないと思います。

(もしくは開発のBINを全てコピーすれば
  行ける(?)と思いますが。。。)

参考になればと思います。
まなか
常連さん
会議室デビュー日: 2008/04/17
投稿数: 37
投稿日時: 2008-04-19 13:52
ODP.NETのインストール済みで、今回のようにクラス化せずに作成した
他のaspxは動いています。
開発のBinも全てコピーしているのですが・・・

自分の開発マシン上のIISのwwwrootでもサーバーのwwwrootでも現象は同じだったのですが・・・

ということは、ODP.NETの再インストールしかないのかもしれませんね。
月曜日に試してみます。
まなか
常連さん
会議室デビュー日: 2008/04/17
投稿数: 37
投稿日時: 2008-04-21 12:45
フォルダの構成を戻して、aspxが入っているフォルダを
アプリケーションの作成したら正常に動くようになりました。

App_CodeフォルダはBinフォルダのように、共通化して使えるものかと
思い、aspxと異なるフォルダにしていました。

新しいプロジェクトが作成されるたびに、サーバーでいちいち
アプリケーションの作成、をやるのが面倒だと思って
一番上の階層のフォルダだけアプリケーションの作成をしてました。

ここで疑問なのですが、プロジェクトごとにアプリケーションの作成を
するのが普通なのでしょうか?
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2008-04-22 21:56
引用:

まなかさんの書き込み (2008-04-21 12:45) より:

新しいプロジェクトが作成されるたびに、サーバーでいちいち
アプリケーションの作成、をやるのが面倒だと思って
一番上の階層のフォルダだけアプリケーションの作成をしてました。

ここで疑問なのですが、プロジェクトごとにアプリケーションの作成を
するのが普通なのでしょうか?


プロジェクトごと?
同じ Webサイト に入れるなら同じプロジェクトにコードを追加するんじゃないですか?

あと、初回リクエスト時にコンパイルが走るかどうかはプロジェクトの種類によって違ったような。どちらでプロジェクトを作っていますか?
→http://dotnetfan.org/blogs/dotnetfanblog/archive/2008/01/21/2717.aspx
_________________
かるあ のメモスニペット
まなか
常連さん
会議室デビュー日: 2008/04/17
投稿数: 37
投稿日時: 2008-05-07 14:08
引用:

かるあさんの書き込み (2008-04-22 21:56) より:
プロジェクトごと?
同じ Webサイト に入れるなら同じプロジェクトにコードを追加するんじゃないですか?

あと、初回リクエスト時にコンパイルが走るかどうかはプロジェクトの種類によって違ったような。どちらでプロジェクトを作っていますか?
→http://dotnetfan.org/blogs/dotnetfanblog/archive/2008/01/21/2717.aspx




お返事遅くなりました。
Webサイトで作成しています。
表現が悪かったので、再度説明させていただきます。

.NETで作成したものを同じフォルダに入れようと思っていました。

Mainフォルダ
(このフォルダをインターネットインフォメーションサービスから
  アプリケーションの作成、としています。)

⇒Main\binフォルダ
(.NETで作成したアプリケーション全てで使用できるようにdllを格納)
⇒Main\YYYフォルダ
(YYYプロジェクトのフォルダで、App_Codeフォルダや Default.aspxが入ります。)
⇒Main\ZZZフォルダ
(ZZZプロジェクトのフォルダで、App_Codeフォルダや Default.aspxが入ります。)

以上のように、プロジェクトが全く別であってもMainフォルダさえIISでアプリケーションの作成をしておけば、良いのかと思っての質問でした。

共通して使える処理をクラス化しておけばコーディングも楽になるかと思い、クラス化したところ、最初に投稿をしたエラーが発生していました。
上記の例で言えば「Main\YYYフォルダ」も「Main\ZZZフォルダ」もアプリケーションの作成を行うと正常に動きました。

私はサーバーを触る権限がないため、プロジェクトを作成するたびにアプリケーションの作成をするのが困難です。
サーバーにファイルを置く権限はあるので、出来上がった「Main\YYYフォルダ」をサーバーに置くだけで正常に動くものかと思っていたのですが…


[ メッセージ編集済み 編集者: まなか 編集日時 2008-05-07 14:10 ]
1

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