风平浪静

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 .net下面用C#开发MIS应用程序,数据库一般使用的是微软的sql server,同属微软家族的产品在开发过程中一般一帆风顺。但近来,项目组要求应用程序的数据库转向oracle数据库,在试验过程中遇到了一些莫名其妙的麻烦,虽然问题已经解决,但我还不知道是什么原因?下面是我试验过程的基本介绍:

  1、环境

     数据库:oracle 8.17  安装的是企业版 

开发工具:vs 2003 

     操作系统:win 2003

  项目采用的是c/s结构

  试验是在同一机器上进行的

 2、问题起因及结果

   1)程序编写之前oracle数据库运行正常,通过客户端访问工具正常访问,服务也正常。程序代码采用的是.ne提供专门针对oracle数据库的开发组件:using System.Data.OracleClient

   2)程序调试运行,运行到oracleConnectionOpen()方法的时候,就会弹出“Could not create an environment: OCIEnvCreate returned -1.” 仔细检查我的程序和用户名、密码以及服务名,都没什么问题,但不管怎么样就是弹出那个异常信息。最后google一下,发现了这个问题出现的大致原因是说我的权限不够,需要对oracle安装的主目录重新设置一下运行权限,可那个信息据说都是针对asp.net 的程序,天知道对于c/s程序怎么出现这个问题。

   3)没办法,即然出现这个问题就要想办法解决,因为我的oracle主目录是安装在fat32文件类型目录下面,而不是他们所说的ntfs,所以网上提供的解决方法根本就不能进行下去,请教其它的人,都说c/s程序没有出现这个问题,也没解决。faint,难道我的rp有问题。

   4)现在事情即然到了这一步,只要出杀手锏,把oracle的安装环境重新配置。备份oracle数据库,卸载oracle,重新在我的系统目录(NTFS)上面在装一个oracle,安装完毕,启动监听程序和服务,运行程序,靠,居然运行成功。难道真的与文件类型有关系?

3、后记

 以上就是C#连接oracle数据库经历,虽然可以访问oracle数据库了,但原因就是没搞清,为什么会出现这个问题?难道真的因为我的逻辑盘是FAT32原因?可觉得没道理阿……那位大虾如果知道原因,希望赐教,希望大家可以讨论讨论……

posted on 2006-07-10 00:48  风平浪静  阅读(5343)  评论(2编辑  收藏  举报