C#调用Oracle.DataAccess报错

2024-04-02 11:32

本文主要是介绍C#调用Oracle.DataAccess报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【前言】

最近开发项目不想再使用低版本的.Net Framework,因为开发工具升级了,并且调用的第三方库也都在新版本中有不错的体验,我们何必要墨守成规呢?!所以,最终我使用VS2015+.Net Framework4.0+Oracle 11g Client开发新项目。

【问题描述】

我这边开发环境都搭建好了,但编译时却有警告提示“warning CS0618: 'OracleConnection' is obsolete: 'OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260'”。好多开发朋友都说这就是个提示,不必大惊小怪的,但强迫症还是让我更换掉了以前引用的“System.Data.OracleClient”库,改成微软推荐的“Oracle.DataAccess”库。

编译OK了,没有任何警告和报错,然后将程序打包给客户测试。杯具了~客户那边链接数据库时提示“‘Oracle.DataAccess.Client.OracleConnection’的类型初始值设定项引发异常”,我就奇怪了,为什么我开发测试都没问题,客户到底干了什么?

【问题分析】

上网找了好多类似情况的解决方法,有人说是跟这个“Oracle.DataAccess”库版本有关系,我还特意看了一下我的库真是v2.0版本的应该没问题。如图1所示:

                                                                                        图1

还有人说跟Oracle客户端安装版本和多少位有直接关系。但客户这里安装的都是我要求的Oracle 11g client(32位)版本,并且我还特意将软件安装包发给大家(以免自己在网上找的版本不正确)所以,客户的问题应该跟版本没多大关系。

【解决方法】

最后实在没有办法了,我远程到客户的电脑,找到环境变量中的“Path”变量对应的值,从中找到Oracle执行目录。如图2所示:

                                                                                                 图2

根据路径找到指定的目录,发现我的天啊,客户电脑上居然没有。详细询问后得知,他将目录重命名了,说是以为要跟服务器路径一致呢!我哭的心都有了!!!

最后将Oracle客户端安装的目录名称修改回Path值中的名称即可。

注:如果修改回来还是不好使,请卸载Oracle客户端,重新安装一遍。

这篇关于C#调用Oracle.DataAccess报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/869863

相关文章

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9