1

我怎样才能连接到我的Oracle 11g release 11.2.0.1.0

我的.Net framework is 4. 我的操作系统是windows 7 64 bit版本。

我从谷歌阅读了一些样本并进行了测试,但它不起作用。

这是我的代码。我用过VS2012 Express 2012 for Web

我使用了 Oracle.DataAccess.. 任何示例代码或说明帮助表示赞赏..

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Oracle.DataAccess.Client;

    namespace WebApplication1
    {
        public partial class index : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                OracleConnection connection = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mySid)));User Id=xxx;Password=xxx;");
                try
                {
                    connection.Open();
                }
                catch (Exception exp)
                {
                    Console.WriteLine(exp.Message);
                }
            }
        }

} 

这是我的错误..

Server Error in '/' Application.

The provider is not compatible with the version of Oracle client

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

Source Error: 


Line 13:         protected void Page_Load(object sender, EventArgs e)
Line 14:         {
Line 15:             OracleConnection connection = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=xxxx)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxx)));User Id=xxx;Password=xxxx;");
Line 16:             try
Line 17:             {

Source File: c:\PLanguages\PSources\C#\WebApplication1\WebApplication1\index.aspx.cs    Line: 15 

Stack Trace: 


[OracleException (0x80004005): The provider is not compatible with the version of Oracle client]
   Oracle.DataAccess.Client.OracleInit.Initialize() +624
   Oracle.DataAccess.Client.OracleConnection..cctor() +903

[TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.]
   Oracle.DataAccess.Client.OracleConnection..ctor(String connectionString) +0
   WebApplication1.index.Page_Load(Object sender, EventArgs e) in c:\PLanguages\PSources\C#\WebApplication1\WebApplication1\index.aspx.cs:15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +92
   System.Web.UI.Control.LoadRecursive() +54
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
4

4 回答 4

2

我在这里找到了答案。

我只需要覆盖我的环境变量,我就可以轻松连接。

于 2013-06-11T02:03:31.207 回答
0

使用 oracle odp.net连接到 oracle 数据库就可以了。

于 2013-06-10T19:26:38.067 回答
0

我的建议是安装包odp.net.x64.,你要做的是去工具.,Libery包管理器.,包管理器控制台,然后输入以下Install-Package odp.net.x64

于 2014-05-22T13:28:45.593 回答
-1

下面的链接解决了我的问题。

https://www.codeproject.com/Questions/617272/The-provider-is-not-compatible-with-the-version-of

1)检查您是否正在编译到 x86 或任何 CPU(首选任何 CPU,因为它可以在 64 位和 32 位上工作,并且您的 asmx 可能是 64 位正在工作)。

2) 检查您在项目中构建的 .net 版本。

于 2017-11-24T17:50:24.913 回答