上次做了一个小的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中文版!

转载于:https://www.cnblogs.com/ganqiyin/archive/2012/07/10/2584881.html

解决“The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception ”异常...相关推荐

  1. 解决“The type initializer for‘Oracle.DataAccess.Client.OracleConnection‘ threw an exception ”异常

    解决"The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception " ...

  2. Oracle用 odp.net 时出现 Oracle.DataAccess.Client.OracleConnection的类型初始值设定项引发异常 问题的解决...

    在初次使用 Oracle 时,用ado.net连接数据,出现 "Oracle.DataAccess.Client.OracleConnection"的类型初始值设定项引发异常 的提 ...

  3. “Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常

    "Oracle.DataAccess.Client.OracleConnection"的类型初始值设定项引发异常. 这个问题是我在iis上发布后浏览网页时报的错误.而在本地浏览程序 ...

  4. Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常

    Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端 最开始,连接Oracle 数据是需要安装客户端的,ado.net 后来由于微软未来不再支持 Syste ...

  5. C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  6. 无法将类型为“Oracle.DataAccess.Client.OracleParameter”的对象强制转换为类型

    无法将类型为"Oracle.DataAccess.Client.OracleParameter"的对象强制转换为类型"Oracle.DataAccess.Client.O ...

  7. .net core linux环境下导出到excel报The type initializer for ‘Gdip‘ threw an exception.异常

    .net core linux环境下导出到excel报The type initializer for 'Gdip' threw an exception.异常 一.安装一下包: yum -y ins ...

  8. .NET Core----Docker The type initializer for ‘Gdip‘ threw an exception异常

    .NET Core----Docker The type initializer for 'Gdip' threw an exception异常 参考文章: (1).NET Core----Docke ...

  9. .net Core 在 CentOS7下,报The type initializer for ‘Gdip‘ threw an exception.异常

    .net Core 在 CentOS7下,报The type initializer for 'Gdip' threw an exception.异常 参考文章: (1).net Core 在 Cen ...

最新文章

  1. Nginx一点事儿(一)
  2. 容器必须设置宽度吗_消防泵必须设置自动巡检柜吗
  3. IE浏览器兼容性调整总结技巧
  4. 合并报表编制采用的理论_合并报表操作的整体思路梳理
  5. Window下Pothos SDR开发环境搭建(limeSDR)
  6. 075_JSON.parse()
  7. 自制单选多选日历文本框文本域控件
  8. 最新 MSDN Library for Visual Studio 2008 SP1
  9. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
  10. swift inheritace 继承
  11. 外设驱动库开发笔记10:SHT2x系列温湿度传感器驱动
  12. SQL Server应用程序中的高级SQL注入[转]
  13. android 巧用动画使您app风骚起来
  14. JAVA入门[14]-Spring MVC AOP
  15. PHP生成QRCode二维码
  16. process launch failed: timed out waiting for app to launch问题解决
  17. 连续分配存储的四种管理方式
  18. varnish 缓存php,php实现监控varnish缓存服务器的状态
  19. statement和prepareStatement的区别
  20. 【面试必备】java开发转算法工程师

热门文章

  1. 转载:如何优雅的实现INotifyPropertyChanged接口
  2. OAuth2.0相关知识
  3. 西门子Step7找不到有效授权的解决方法
  4. mac系统下git、mysql、nginx、php的环境搭建
  5. Kubernetes的ConfigMap说明
  6. IFE-16 addEventHandler跨浏览器实现事件绑定
  7. SQL Server 2012 AlwaysOn高可用配置之八:新建可用性组
  8. [leetcode]Jump Game
  9. 系统分析的几个好工具
  10. Rexsee API介绍:Android传感器系列之 - 磁场传感器Magnetic Field源码