zoukankan      html  css  js  c++  java
  • 解决“The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception ”异常

     上次做了一个小的EXE应用程序,发给老大后,昨天老大告诉我程序在服务器端运行会抛出异常。

      今天我从早上上班一直弄到写这篇BLOG,才解决掉。

      设置断点进去跟踪发现是在Conncetion.open()时,会抛出异常,异常显示

      提供程序与此版本的ORACLE客户机不兼容

      服务器版本:

       异常如下:

      

    详细错误清单:(我用GG翻译了)

     

     主要是不能连接ORACLE数据库,连接DLL用的是 版本为2.112.1.2的ORACLE.DATAACCESS.DLL,在我自己的电脑上运行没有问题,在服务器端运行就会抛出异常。

     为了解决问题我尝试了用更新的版本。但是他还是会抛出同样的问题。

     最后我想起了.NET中自带有微软的ORACLE访问借口,于是我就用了SYSTEM.DATA.ORACLECLIENT这个组件,问题得到了解决。

     部分代码:(注释的就是调用的ORACLE.DATAACCESS.DLL组件的方法)

    View Code
     1  protected DataSet GetData()
     2         {
     3 
     4             //Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(connstr);
     5             System.Data.OracleClient.OracleConnection conn = new OracleConnection(connstr);
     6             try
     7             {
     8                 conn.Open();
     9                 //Oracle.DataAccess.Client.OracleCommand com = conn.CreateCommand();
    10                 OracleCommand com = conn.CreateCommand();
    11                 com.CommandText = "select * from DL_GOVT_NOTICE_INFO";//"select * from DL_GOVT_NOTICE_EXP_HIST";
    12                 //Oracle.DataAccess.Client.OracleDataAdapter apter = new Oracle.DataAccess.Client.OracleDataAdapter(com);
    13                 OracleDataAdapter apter = new OracleDataAdapter(com);
    14                 DataSet ds = new DataSet();
    15                 apter.Fill(ds);
    16                 apter.Dispose();
    17                 conn.Dispose();
    18                 return ds;
    19             }
    20             catch (Exception ex)
    21             {
    22                 this.LabShowInfo.Text = "Error: " + ex.Message;
    23                 conn.Close();
    24                 return null;
    25             }
    26            
    27         }


     详细情况我现在也还很糊涂,希望对有出现类似情况的同志有所帮助。

     嗯,VS工具是2008中文版!

      

  • 相关阅读:
    (转)Silverlight从程序集读取xaml文件
    阻止jQuery事件冒泡
    如何避免JQuery Dialog的内存泄露(转)
    VS2010 好用的javascript扩展工具
    C#计时器
    Silverlight初体验之设置启动页面
    javascript调用asp.net后置代码方法
    应用程序工程文件组织重要性
    javascript中字符串转化为json对象
    jQuery EasyUI
  • 原文地址:https://www.cnblogs.com/ganqiyin/p/2584881.html
Copyright © 2011-2022 走看看