相关疑难解决方法(0)

如何卸载/完全删除Oracle 11g(客户端)?

如何卸载/完全删除Oracle 11g(客户端)?

deinstall.bat不起作用.

编辑: 有关此问题被关闭和删除的原因的进一步讨论:https: //meta.stackexchange.com/questions/190441/why-was-this-question-related-to-uninstalling-the-oracle-database-client-删除

oracle oracle11g

75
推荐指数
3
解决办法
42万
查看次数

Oracle ODP.net托管与非托管驱动程序

托管和非托管Oracle ODP.Net驱动程序之间是否存在任何性能基准测试?

(即除了简化架构/部署之外,移动到托管驱动程序是否有任何优势)

oracle odp.net

37
推荐指数
3
解决办法
4万
查看次数

使用Oracle.DataClient时,提供程序与Oracle客户端错误的版本不兼容

我正在使用Visual Studio 2008 Express Edition,我正在尝试使用Oracle.DataClient开发一个小应用程序.当我尝试连接到目标系统中的数据库时,我收到了上述错误.

我已经为Oracle 10gR2添加了对Oracle ODP.net提供程序的引用,并且在目标计算机中我安装了Oracle 10gR2数据库的副本.尽管如此,我收到了错误.在发布之前,我在SO上阅读了这篇文章,并且我安装了即时客户端,错误仍然存​​在.下面是完整的错误堆栈.

************** Exception Text **************
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client    at Oracle.DataAccess.Client.OracleInit.Initialize()
   at Oracle.DataAccess.Client.OracleConnection..cctor()
   --- End of inner exception stack trace ---
   at Oracle.DataAccess.Client.OracleConnection..ctor(String connectionString)
   at Employees1.frmLogin.oralogin()
   at Employees1.frmLogin.btnTest_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& …
Run Code Online (Sandbox Code Playgroud)

oracle odp.net visual-studio-2008

16
推荐指数
1
解决办法
4万
查看次数

odbc指令连接到oracle

我想从我的网站(asp.net-mvc)连接到oracle数据库.我必须连接到数据库的唯一信息是ODBC指令,它告诉我去:

  1. 它说要进入机器上的oracle目录并将其输入到一个TSNNames.ora文件中并输入:

    DBNAME=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[machine])(port=[port]))
       (CONNECT_DATA=(SID=[DBNAME])))
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后转到控制面板并通过GUI向导手动添加连接.

无论如何我可以连接到这个数据库,而不必设置它?我希望简单地将连接字符串粘在我的路上.我部署到不同的机器,我不想要更新.ora文件或完成此GUI向导设置的负担.

有人对我有建议吗?

c# oracle asp.net-mvc odbc

8
推荐指数
1
解决办法
1万
查看次数

Oracle ManagedDataAccess - 连接请求超时 - 池

我终于承认失败并寻求帮助.我已经做了我能想到的所有事情来解决这个问题,但似乎我无法做到这一点.

我正在使用:VS2010 C#Oracle 12c ODP.Net Managed121012

我继承了一个使用托管和非托管dataaccess dll的应用程序.它一直在工作,直到我卸载oracle.然后我为64位机器重新安装了11g客户端.我立刻注意到安装了框架2只有dataaccess dll,但我仍然继续.然后我将所有oci和ora dll从client_1文件夹复制到我的应用程序的bin目录中,并将Oracle.DataAccess.dll复制到我的bin目录中.我还将Oracle.ManagedDataAccess.dll复制到此文件夹中.

只要我没有更改数据集上的任何内容,我的应用程序就会成功运行.我会很乐意继续这样做,除了我必须创建更多的数据集.当我尝试添加新数据集时,我的数据源连接向导下拉列表为空.然后我尝试重新创建连接,但只能看到.Net Framework DProviders.我看不到托管服务提供商.在某些时候,我也得到了这个错误"当前没有选择数据提供者".

认为这是因为没有安装托管服务提供商我卸载了11g客户端并安装了64位12c客户端并将所有相关文件复制到我的应用程序的bin中.我在app.config文件中添加了以下行:

      <configSections>
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />
Run Code Online (Sandbox Code Playgroud)

  <system.data>
<DbProviderFactories>
  <remove invariant="Oracle.DataAccess.Client" />
  <remove invariant="Oracle.ManagedDataAccess.Client" />
  <add name="ODP.NET, Managed Driver" invariant="Oracle.DataAccess.Client"
         description="Oracle Data Provider for .NET, Managed Driver"
         type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />     
</DbProviderFactories>
Run Code Online (Sandbox Code Playgroud)

在此之后,我现在可以看到一些旧的数据源,但我无法连接到我的数据库,因为我收到"连接请求超时".当我手动创建一个新连接时,我可以很好地与非托管提供程序连接,但得到一个连接请求超时错误.

我真的在绳子的尽头,在使用绳子之前真的很欣赏新鲜的眼睛.

提前致谢.

c# oracle visual-studio-2010 odp.net-managed

8
推荐指数
1
解决办法
2万
查看次数

Oracle.DataAccess.Client依赖项

首先,我想使用它Oracle.DataAccess.dll来使用OracleBulkCopy.

我想知道我需要能够从数据库中读取的所有dll,然后在Oracle中执行批量复制.目前,我们只使用一个dll来执行数据库的所有读取,我们正在使用Oracle.ManagedDataAccess.Client.但我不能用它来执行bulkCopy.

我不想为用户安装ODP.NET,我想直接在程序中包含dll.所以我想知道能够Oracle.DataAccess.dll在32位和64位中使用最低要求的dll .

我知道有一些关于这个的老帖子,但它很安静,列出的dll已经过时了.我无法找到其中一些事件.

我为ODAC12安装了ODP.net,我在这篇文章中检索了所有列出的dll .我也尝试过这篇文章.列出的dll指出版本11.

我创建了一个虚拟项目,打开一个连接,读取一个表并将其批量放入另一个表中.我从项目根目录中的帖子中复制了列出的dll,并将其包含Oracle.DataAccess.dll在项目中.

当我以64位运行我的程序时,我收到以下错误:

无法加载文件或程序集'Oracle.DataAccess,Version = 4.121.2.0,Culture = neutral,PublicKeyToken = 89b483f429c47342'

当我以32位运行它时,我收到此错误:

无法加载DLL'OraOps12.dll':找不到指定的模块.(HRESULT异常:0x8007007E)"

我包括的dll是:

  • OCI.DLL
  • OCIW32.DLL
  • Oracle.DataAccess.dll
  • orannzsbb12.dll
  • oraocci12.dll
  • oraociei12.dll
  • OraOps12.dll

.net c# oracle dll odp.net

8
推荐指数
1
解决办法
3万
查看次数

如何修复"提供程序与Oracle客户端版本不兼容"?

我们使用的是Oracle.DataAccess.dll程序集版本2.102.2.20(32位).

我将我们的Web API应用程序部署到IIS并尝试打开和关闭连接:

 private static void CheckConnectionUsingOracleClient(string connection)
        {
            var logger = DiContainer.Resolve<ILogger>();

            try
            {
                logger.LogInfo("Trying to connect to " + connection);
                // check whether you can connect to the shop using Oracle.DataAccess
                using (var cnn = new Oracle.DataAccess.Client.OracleConnection(connection))
                {
                    cnn.Open();
                    cnn.Close();
                }

                logger.LogInfo("Succeeded to connect to " + connection);
            }
            catch (System.Exception ex)
            {
                logger.LogError("Failed to connect to " + connection, ex);
            }
        }
Run Code Online (Sandbox Code Playgroud)

在我的本地机器上它很好,但是在这个服务器上它会在尝试初始化OracleConnection时抛出异常:

对于"Oracle.DataAccess.Client.OracleConnection"的类型初始值引发异常.---> Oracle.DataAccess.Client.OracleException:提供程序不能与Oracle客户端的版本兼容

我已经在服务器上安装Oracle客户端11.2(32位)和I可以看到,在GAC(C:\ WINDOWS \组件)的Oracle.DataAccess组件安装在32位处理器体系结构.它在我们的一台服务器上工作正常但不是这一台.

在IIS中,我在应用程序池上设置了"启用32位应用程序".

怎么修好?到目前为止我花了10多个小时尝试不同的东西:(

理想情况下,我希望能够使用Oracle.DataAccess.dll而无需在服务器上安装Oracle客户端.

c# asp.net oracle data-access oracle-client

5
推荐指数
2
解决办法
4万
查看次数

OracleException(0x80004005)连接到Oracle数据库时

我开发了一个简单的C#,.net 4.0网站,我想将其部署到IIS测试服务器上.我正在使用Oracle.DataAccess程序集连接到Oracle数据库,并且我添加了该DLL(以及许多其他相关DLL的地狱,只是为了很好的衡量,并在shotfun尝试尝试解决此问题) ,到我网站的bin文件夹.它在我的开发机器上工作正常(显然;在复制所有这些DLL之前工作正常),但不是我的测试服务器.在测试服务器上,我收到以下异常:

[OracleException (0x80004005)]
   Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck) +1468
   Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src) +24
   Oracle.DataAccess.Client.OracleConnection.Open() +4391
   MappingQueries.connect() +173
   scripts_list_mappings.Page_Load(Object sender, EventArgs e) +17
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
Run Code Online (Sandbox Code Playgroud)

没有错误消息,没有具体细节.有什么方法可以获得更多信息,还是可以解决这个问题?我在这里有点松散,所以任何有用的信息都会非常感激.

解决方案(有点)

好吧,我已经以迂回的方式解决了这个问题,我想为遇到类似问题的人留下一些建议.

首先要做的事情是:它帮助我建立了一个简单的测试应用程序,我可以用它来确定问题是否是IIS.我使用了一个连接到Oracle数据库的简单C#应用程序.我的目标是让它正常工作,我通过安装Oracle即时客户端这样做.

下一步:使用特权帐户运行应用程序.我使用自己的管理帐户,我已经运行了我的测试应用程序.

最后,为了确定这是否是32/64位问题,我检查了注册表以确定我的Oracle变量的位置:HKLM/Software/Oracle,或HKLM/Software/WOW6432/Oracle.我还尝试从命令行运行SQLPLUS,并在Process Manager中检查天气显示为*32(表示32位应用程序)的过程.

我认为就是这样.显然,没有"一刀切",这个问题的解决方案,但希望任何遇到这个问题的人都会在我提供的细节中找到一些帮助,以及下面的有用评论.

c# asp.net oracle iis

3
推荐指数
1
解决办法
1万
查看次数

无法加载文件或程序集'Oracle.DataAccess,Version = 4.112.4.0,Culture = neutral,PublicKeyToken = 89b483f429c47342'

我在服务器上安装了oracle 11 gr 2,并下载ODAC112040Xcopy_64bit并安装了.net组件.

Oracle.DataAccess.dll将此位置中存在的内容 复制Oracle_Folder\odp.net\bin\4binVisual Studio项目中的文件夹中

当我执行我的代码时,我遇到了这个异常:

TestOracleConnection.exe中发生了未处理的"System.BadImageFormatException"类型异常

附加信息:无法加载文件或程序集"Oracle.DataAccess,Version = 4.112.4.0,Culture = neutral,PublicKeyToken = 89b483f429c47342"或其依赖项之一.尝试加载格式不正确的程序.

我的代码是:

public string CallCardDetails(string CallCardNo)
{
    //initialize
    using (DataSet ds = new DataSet())
    {
        //connect
        using (OracleConnection conn = new OracleConnection("User Id=oraDB;Password=ora;Data Source=CCT"))
        {
            // Oracle uses : for parameters, not @
            string query = "SELECT idcard from CallCardTable where idcard= :pCallCardNo";

            // Let the using block dispose of your OracleCommand
            using (OracleCommand cmd = …
Run Code Online (Sandbox Code Playgroud)

.net c# oracle

3
推荐指数
2
解决办法
3万
查看次数