1

我在asp.net开发web应用,我们使用Oracle 11g 64位服务器作为后端,通过以下代码连接失败:

我在 64 位编译环境下使用 Visual Studio 2012(4.5),

我试过的:

我尝试连接 oracle 数据访问,将执行 Oracle db 连接的 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 位环境中运行 64 位和 32 位应用程序,但在 IIS 中,您必须需要相同的环境库才能工作。

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

于 2013-10-23T13:15:57.090 回答