Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从.NET连接到Oracle 10g_.net_Oracle - Fatal编程技术网

从.NET连接到Oracle 10g

从.NET连接到Oracle 10g,.net,oracle,.net,Oracle,我正在尝试连接到位于某个IP地址的oracle服务器,但始终收到错误消息 System.TypeInitializationException: 的类型初始值设定项 'Oracle.DataAccess.Client.OracleConnection' 引发了异常。--> Oracle.DataAccess.Client.OracleException 提供程序与不兼容 位于的Oracle客户端版本 Oracle.DataAccess.Client.OracleInit.Initialize()

我正在尝试连接到位于某个IP地址的oracle服务器,但始终收到错误消息

System.TypeInitializationException: 的类型初始值设定项 'Oracle.DataAccess.Client.OracleConnection' 引发了异常。--> Oracle.DataAccess.Client.OracleException 提供程序与不兼容 位于的Oracle客户端版本 Oracle.DataAccess.Client.OracleInit.Initialize() 在 Oracle.DataAccess.Client.OracleConnection..cctor() ---内部异常堆栈跟踪的结尾---位于Oracle.DataAccess.Client.OracleConnection..ctor(字符串 连接字符串)在 WebApplication1.\u默认值。页面\u加载(对象 发件人,事件参数(e)在 C:\Users\Sunil\Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\Default.aspx.cs:line 二十六

这是一个测试文件

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Oracle.DataAccess.Client;
namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try {
                string oradb = "Data Source=(DESCRIPTION=(ADDRESS_LIST="
                + "(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.11)(PORT=1523)))"
                + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));"
                + "User Id=<user id>;Password=<some password>;";

                OracleConnection conn = new OracleConnection(oradb); // C#
                conn.Open();

            }
            catch (Exception  ex){
                Label1.Text = ex.ToString();
            }

        }
    }
}
使用系统;
使用系统集合;
使用系统配置;
使用系统数据;
使用System.Linq;
使用System.Web;
使用System.Web.Security;
使用System.Web.UI;
使用System.Web.UI.HTMLControl;
使用System.Web.UI.WebControl;
使用System.Web.UI.WebControl.WebParts;
使用System.Xml.Linq;
使用Oracle.DataAccess.Client;
命名空间WebApplication1
{
公共部分类\u默认值:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
试一试{
string oradb=“数据源=(描述=(地址列表=”
+“(地址=(协议=TCP)(主机=192.168.1.11)(端口=1523))”
+“(连接数据=(服务器=专用)(服务名称=ORCL));”
+“用户Id=;密码=;”;
OracleConnection conn=新的OracleConnection(oradb);//C#
conn.Open();
}
捕获(例外情况除外){
Label1.Text=ex.ToString();
}
}
}
}
我已在Windows Vista下为ASP.NET安装了oracle 10gR2客户端和oracle 10gR2提供程序。我遗漏了什么吗

问题已部分解决我已在提供程序之后安装了oracle客户端

…但现在异常显示为

Oracle.DataAccess.Client.OracleException 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 错误代码,OracleConnection连接,IntPtr opsErrCtx,OpoSqlValCtx* pOpoSqlValCtx,对象src,字符串 程序)在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 错误代码,OracleConnection连接,IntPtr opsErrCtx,对象src)在 Oracle.DataAccess.Client.OracleConnection.Open() 在 WebApplication1.\u默认值。页面\u加载(对象 发件人,事件参数(e)在 C:\Users\Sunil\Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\Default.aspx.cs:line 二十八


您的Oracle.DataAccess.dll版本似乎与Oracle客户端安装不同步。例如,您可能正在使用Oracle.DataAccess.dll的最新版本,该版本需要Oracle 11客户端

检查Oracle.DataAccess.dll的版本字符串。我相信Oracle10DLL的版本是“10.x.y.z”,而Oracle11DLL的版本是“2.x.y.z”(是的,这令人困惑)


请注意,这不是服务器版本控制问题--在OracleConnection类与服务器对话之前很久,OracleConnection类尝试初始化自身时就会发生此错误。

您可以尝试查看ASP.NET是否对Oracle文件夹具有权限,这可能是导致您的情况的原因。

问题已解决。。。windows vista安全性(?)是问题所在,我以管理员身份运行该程序,一切正常

您的服务器上有什么oracle版本?我有一个与您极为相似的问题。如果你碰巧找到了解决办法,请告诉我。我在网上只发现了一些模糊的提示,提到权限可能是错误的,或者在某个地方丢失了,但我还没有弄清楚这是否真的是问题所在,或者缺少哪些权限以及权限在哪里missing@Bob:您是否在windows vista上。。以管理员身份运行程序。这为我解决了问题。@itowlson:谢谢。。实际上,我在安装客户端之后重新安装了提供程序:)。但现在它又出现了一个新的例外:(Oracle data access版本是10.2.0.100,但我现在遇到了新的异常,这在我修改的问题中提到了。啊,对不起,不确定是什么原因导致了这种情况,尽管至少现在DLL似乎加载正常,我们进入了连接问题的领域。你能确定任何类型的错误代码吗?它可能隐藏在属性中OracleException的s——在调试器中检查异常,看看是否有任何线索。