前言
最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中。供应商那边是Oracle数据库,其实不管什么数据我想都差不多,于是我就开始了。由于在家里写的博客,那些截图都放在公司电脑了,希望能通过文字让大家明白,多有不周还请原谅。
过程
第一种方法:一开始我是用的.net里面自带的那个System.Data.OracleClient;引用。然后把Oracle客户端装了,结果不行。Oracle客户端装的是及时版本。执行后不断的报错,什么无法标示了,版本得多少多少以上了,等等这些问题。没办法,最后又用第二种方式解决。
第二种方法:OleDb的那种,网上一搜就会看到很多,不同点就是链接字符串上加了一个驱动指向标示是Oracle,Provider=。。。;然后执行程序,还是报错。报的错是,没有提供那个什么程序。网上查后,是需要装某个组件。之后下载,安装。然后调试还是不行。
之后向别人问了一下,基本也就这么个操作。但是为什么不行呢,他们说有个测试配置,但是我的机子上找不到。因为客户端我一开始装的是及时版本的,然后我又重新装了一遍,选择了一个管理员版本的。最后的测试配置出来来了,测试上配置服务器名,然后添加要连接的ip,然后就是数据库,账户密码。最后点击“测试”按钮。显示连接成功。最后还是回归了第一种方法了。但是连接的时候还是报异常。最后咨询了一下我们以前的一个哥们,他也说就这么做的。为什么不行呢?他给我截了一个图,我发现了不一样的地方了。连接字符串的Datasource是我们测试成功连接的那个服务器名称,也就是我们自己起的那个名字。这才是关键。自己想想也是,要不用客户端测试起的那个名字有啥用,就是为了要和连接字符串连接到一块的。这下总算搞定了。但是第二种方法还是没有搞定,因为在网上看的时候,他们说第一种方法,读的时候会有乱码,用第二种方法没有。所以第二种方法,迟早还得搞定。
总结
什么东西都得自己去尝试才会体会更深,虽然很简单的一个东西,失败了很多次,其实每次的失败不是失败,也是一种成功,因为这让你知道这方式行不通,这也是一种获得。所以我们不要怕失败,这就是失败为什么是成功之母。没有截图,显得单调了很多,表达上也不显得生动,还是请大家多多原谅。
即使跌倒一百次,也要一百次地站起来。
C#应用程序中读取Oracle数据库