1

私はasp.netでWebアプリケーションを開発しています.Oracle 11g 64ビットサーバーをバックエンドとして使用しています.次のコードを介して接続すると接続に失敗します.

64ビットのコンパイル環境でVisual Studio 2012(4.5)を使用していますが、

私が試したこと:

Oracle db接続を実行するOracleデータアクセス、dllに接続しようとしましたが、Windowsアプリケーションに接続しましたが、Webアプリケーションで次のコードを試してみると失敗しました:

Imports System.Data
Imports Oracle.DataAccess.Client ' ODP.NET Oracle managed provider
Imports Oracle.DataAccess.Types

Public Class RafiqClass
    Public Sub Intm()
        Try
            Dim oradb As String = "Password=valuesol;Persist Security Info=True;User ID=system;Data Source=orcle"
            Dim conn As New OracleConnection(oradb)
            conn.Open()
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandText = "select department_name from departments where department_id = 10"
            cmd.CommandType = CommandType.Text
            Dim dr As OracleDataReader = cmd.ExecuteReader()
            dr.Read()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

私はすでにこのdllの参照、ライブラリ作成を追加しましたが、それでもWebアプリケーションに関しては機能していません

発生するエラーは次のとおりです。

Oracle クライアント ライブラリをロードしようとすると、badimageformatexception がスローされました。この問題は、32 ビットの Oracle クライアント コンポーネントがインストールされている状態で 64 ビットで実行している場合に発生します。

この問題を解決するためのガイダンスは大歓迎です。

前もって感謝します

4

2 に答える 2

3

申し訳ありませんがコメントできないので、回答として投稿します。ODP.Net ライブラリは 32​​ ビットであり、Web アプリを使用するには 64 ビットが必要です。Windows 環境では、64 ビット環境で 32 ビット アプリと同様に 64 ビット アプリを実行できますが、IIS で動作するには同じ環境ライブラリが必要です。

http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

于 2013-10-23T13:15:57.090 に答える