- PR -

WebMatrixでOracle接続したい

投稿者投稿内容
アティ
ベテラン
会議室デビュー日: 2003/08/14
投稿数: 91
お住まい・勤務地: KANAGAWA
投稿日時: 2004-05-07 15:05
参照の追加しているんですよね?

[追記]
あ、上に書いてあった。すみません。

[ メッセージ編集済み 編集者: アティ 編集日時 2004-05-07 18:27 ]
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-05-07 15:12
引用:

美記入さんの書き込み (2004-05-07 14:57) より:
Global.aspxを作成し以下のように宣言しました。
<%@ Application language="VB" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<%@ import Namespace="Oracle.DataAccess.Client" %>
また、別にOracle接続用のaspxを作成しそこで、Oracle接続コードを記述しました。

がッ…、実行すると以下のようなコンパイルエラーが表示されてしまいます…。


Global.aspxに書くのは、Global.aspxに対して設定する場合です。
この場合はGlobal.aspx内では使えるようになりますが、それ以外の箇所では駄目です。

Web.configの、
<system.web>
 <compilation>
  <assemblies>
で、アプリケーション全体でのアセンブリ参照設定ができるようです。
美記入
会議室デビュー日: 2004/05/06
投稿数: 6
投稿日時: 2004-05-10 11:47
まだ、Oracleに接続できません…。
VS.NETであれば、サンプルたくさんあるのにぃ。

ご指摘通りweb.configに以下の記述を追加しました。
<configuration>
<system.web>
<compilation>
<assemblies>
<add assembly="Oracle.DataAccess,
HintPath=XXXX.orant.bin.Oracle.DataAccess.dll"/>
</assemblies>
</compilation>
</system.web>
</configuration>

次に、呼び出し側で
Sub Page_Load()

Dim conn As New Oracle.DataAccess.Client.OracleConnection()
Dim connectionString As String = "Data Source=XXXX" & _
";User ID=XXXX" & _
";Password=XXXX"

conn = New OracleConnection(connectionString)
conn.Open()
End Sub
とすると、「BC30002: 型 'OracleConnection' が定義されていません。」
のようなエラーが出てしまいます。
WebMatrixのフォーラムで調べようとしましたが、英語なのでよく分かりません。
根本的に、勉強不足ですね…。
だれかWebMatrixでODP.NETを使用してOracle接続してぇ〜(涙)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-05-10 12:09
<%@ import Namespace="Oracle.DataAccess.Client" %>

これは、全部のファイルで記述しているんですよね?web.configに記述するものは、VS.NETで言う「参照」だと思うのです。たいして、こっちの記述はファイル中で「この名前空間を使う」という指定ですから、すべてのODP.NETを使用するファイルで要るんじゃないかなぁ???
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-05-10 13:12
引用:

美記入さんの書き込み (2004-05-10 11:47) より:
コード:
     Sub Page_Load()

         Dim conn As New Oracle.DataAccess.Client.OracleConnection()
         Dim connectionString As String = "Data Source=XXXX" & _
                                    ";User ID=XXXX" & _
                                    ";Password=XXXX"

         conn = New OracleConnection(connectionString)
         conn.Open()
     End Sub


とすると、「BC30002: 型 'OracleConnection' が定義されていません。」


> conn = New OracleConnection(connectionString)
この行だけフルクラス名になってないのはなんででしょう?
なんとなく、Jittaさんの仰るとおり、名前空間をインポートしてないだけのような気がしますが…

あと、そのこととは直接関係ないですが、OracleConnectionを2回作成しているのはなんででしょう?
美記入
会議室デビュー日: 2004/05/06
投稿数: 6
投稿日時: 2004-05-11 13:31
ありがとうございました。
Oracle接続出来ました。
簡単にですが、皆様に教えて頂いた結果を自分なりにまとめました。

@web.configファイルに以下の参照設定を記述します。
<configuration>
<system.web>
<compilation>
<assemblies>
<add assembly="Oracle.DataAccess,
HintPath =bin.Oracle.DataAccess.dll"/>
</assemblies>
</compilation>
</system.web>
</configuration>

Aaspxファイルに以下の名前空間を宣言します。
<%@ import Namespace="Oracle.DataAccess.Client" %>

BOracle接続ロジックを記述します。
…ここは省略…

結果的にこれだけで接続出来ました。
.NET初体験でしたのでとても難しかったです。
最後に、返信して頂いたみなさまに感謝します。

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