前言

最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中。供应商那边是Oracle数据库,其实不管什么数据我想都差不多,于是我就开始了。由于在家里写的博客,那些截图都放在公司电脑了,希望能通过文字让大家明白,多有不周还请原谅。

过程

第一种方法:一开始我是用的.net里面自带的那个System.Data.OracleClient;引用。然后把Oracle客户端装了,结果不行。Oracle客户端装的是及时版本。执行后不断的报错,什么无法标示了,版本得多少多少以上了,等等这些问题。没办法,最后又用第二种方式解决。

第二种方法:OleDb的那种,网上一搜就会看到很多,不同点就是链接字符串上加了一个驱动指向标示是Oracle,Provider=。。。;然后执行程序,还是报错。报的错是,没有提供那个什么程序。网上查后,是需要装某个组件。之后下载,安装。然后调试还是不行。

之后向别人问了一下,基本也就这么个操作。但是为什么不行呢,他们说有个测试配置,但是我的机子上找不到。因为客户端我一开始装的是及时版本的,然后我又重新装了一遍,选择了一个管理员版本的。最后的测试配置出来来了,测试上配置服务器名,然后添加要连接的ip,然后就是数据库,账户密码。最后点击“测试”按钮。显示连接成功。最后还是回归了第一种方法了。但是连接的时候还是报异常。最后咨询了一下我们以前的一个哥们,他也说就这么做的。为什么不行呢?他给我截了一个图,我发现了不一样的地方了。连接字符串的Datasource是我们测试成功连接的那个服务器名称,也就是我们自己起的那个名字。这才是关键。自己想想也是,要不用客户端测试起的那个名字有啥用,就是为了要和连接字符串连接到一块的。这下总算搞定了。但是第二种方法还是没有搞定,因为在网上看的时候,他们说第一种方法,读的时候会有乱码,用第二种方法没有。所以第二种方法,迟早还得搞定。

总结

什么东西都得自己去尝试才会体会更深,虽然很简单的一个东西,失败了很多次,其实每次的失败不是失败,也是一种成功,因为这让你知道这方式行不通,这也是一种获得。所以我们不要怕失败,这就是失败为什么是成功之母。没有截图,显得单调了很多,表达上也不显得生动,还是请大家多多原谅。

即使跌倒一百次,也要一百次地站起来。

C#应用程序中读取Oracle数据库的更多相关文章

  1. Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)

    转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...

  2. [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了

    [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 本文首发自:博客园 文章地址: https://www.cnblogs.com/yilezhu/p/ ...

  3. cx_Oracle读取Oracle数据库中文乱码问题解决

    在使用cx_Oracle模块读取Oracle数据库中的中文记录时,返回值皆为?,后google得此佳文,遂问题得以解决,特此记之. Oracle数据库版本是10g,字符集是AL32UTF8. 编写的p ...

  4. Python+Pandas 读取Oracle数据库

    Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...

  5. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

  6. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

  7. 在net安装程序中部署oracle客户端全攻略

    在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ...

  8. 在mysql数据库中创建Oracle数据库中的scott用户表

    在mysql数据库中创建Oracle数据库中的scott用户表 作者:Eric 微信:loveoracle11g create table DEPT ( DEPTNO int(2) not null, ...

  9. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

随机推荐

  1. 51单片机产生1Hz-5kHz可调占空比方波

    学校的课程设计,总结一下. 注意 1.高低电平的改变不适合在主函数的while循环中,因为要有数码管动态显示的延时和其它逻辑处理,时间太长会不能及时改变高低电平值. 2.中断的执行时间一定是不能超过定 ...

  2. Tab选项卡切换卡JS效果

    <script type="text/javascript"> /* tab切换选项卡js效果 writed by *** 2010.08.13 1.currentid ...

  3. Shell函数:Shell函数返回值、删除函数、在终端调用函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...

  4. 【oracle】初学jobs

    含义:job是oracle的一种对象,可以理解为定时执行的程序 目的:定时自动执行特定代码 照猫画虎--创建job 1.创建测试表JOB_TEST create table JOB_TEST(a da ...

  5. 从MSN上拔下来的全世界国家下拉框(附带SQL执行脚本)

    <select> <option value="AL">阿尔巴尼亚</option> <option value="DZ&quo ...

  6. 【转载】ABAP-如何读取内表的字段名称

    原文地址:ABAP-如何读取内表的字段名称   *&---------------------------------------------------------------------* ...

  7. 备战“软考”之软件project

    说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...

  8. Linux 精准获取进程pid--转

    如果想在脚本里只获取PID,那么可以用如下脚本.目前收集两种方法: 方法一 $ps x|grep xxx  |awk '{print $1}' e.g. ps x|grep java |awk '{p ...

  9. (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间

    亲测一: 1.找到D:\MyEclipse 8.5\configuration\ config.ini 这个文件 2.找到这一行instance.area.default 3.将后面的地址替换为你想要 ...

  10. java 流程执行 循环 foreach循环

    一. if分支 1. 结构  if  else if   else 2.执行原则 if  if  if 结构  会一直去执行()里的判断语句 if else if  else if 结构  只要一条( ...