前言

最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中。供应商那边是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. fetion for linux

  2. Using Java SecurityManager to grant/deny access to system functions

    In Java it is possible to restrict access to specific functions like reading/writing files and syste ...

  3. Sublime ctags 函数跳转插件安装

    Sublime Text安装插件的方法,主要有以下两种: 1. 直接通过下载安装包安装 在编辑器菜单中点击“Preferences”–“Browse Packages…”打开插件安装目录,然后把下载的 ...

  4. JMS消息类型模型

    JMS有两种消息类型模型,一种是P2P(Point To Point), 另一种是Pub/Sub(Publisher/Subscriber),二者之间的主要区别在于消息是否支持重复消费. P2P模型中 ...

  5. 【转】Android 快捷方式的创建

    http://blog.csdn.net/lenmoyouzi/article/details/16939977 一.在日常开发中,我们经常会遇到这样的需求就是网桌面添加快捷方式:常见的快捷方式有两种 ...

  6. BABOK - 企业分析(Enterprise Analysis)

    BABOK - 企业分析(Enterprise Analysis)概要 发表于2013年10月9日由周金根 描述 企业分析描述我们如何捕捉.提炼并明晰业务需要,并定义一个可能实现这些业务需要的一个方案 ...

  7. JAVA向文件中追加内容(转)

    向文件尾加入内容有多种方法,常见的方法有两种: RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流 public void seek(long pos)可以 ...

  8. DTRACE 专家

    http://dtrace.org/blogs/bmc/ https://github.com/bcantrill http://www.tudou.com/programs/view/Q6fHZFg ...

  9. Android(java)学习笔记180:Android MediaPlayer 播放prepareAsync called in state 8解决办法

    使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误. 以下方法可以避免这个异常出现.  第一种方法: private ...

  10. 解决iScroll中事件点击一次却触发两次的问题

    var t1=null;//全局 function myClick() { if (t1 == null){ t1 = new Date().getTime(); }else{ var t2 = ne ...