贤人必须成人,成人才能达己.

共同进步

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  49 随笔 :: 1 文章 :: 10 评论 :: 0 引用

公告

2008年6月22日 #

今天在连接Oracle的时候碰到一个问题,我的机器装的是Oracle9.2客户端,当在asp.net应用中使用数据访问的组件(调用System.Data.OracleClient)时,程序报“System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater”的错误,无法创建OracleConnection,但在同一台机器上用winfom客户端又能够正常访问到数据库。更加奇怪的是,我把应用部署到一台安装了Oracle 8.17客户端的机器上时,却能够正常运行。
        找了半天 ,终于搞清楚了原因。原来当Oracle 9.2运行在NTFS的分区上时,对于某些非administrator组的用户,ORACLE_HOME 目录是不可见的,而在windows server 2003下asp.net应用使用的帐户是netword service,因此无法创建oracle连接,只要重设一下ORACLE_HOME目录的权限就可以了。步骤如下:
1、以管理员的用户登录;
2、找到ORACLE_HOME文件夹(我的是C:\oracle\ora92),点右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在下面权限列表中把“读取和运行”的权限去掉,再按应用;重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认“Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹;
3、重新启动计算机,让权限设置生效(请注意,这一步很重要);
4、登录后运行asp.net应用,正常取得Oracle数据库的数据。
posted @ 2008-06-22 18:50 adi 阅读(103) 评论(0) 编辑

 今天,从上周就捆饶我的问题终于在下班前被我搞定!小得意了一下.
    我的电脑上之前安装了Oracle 10g database,配置完变量用PL/SQL操作一切OK .当又安装完Oracle 10g client后,问题出现了,用PL/SQL登陆时反复提示:ORA-12154: TNS: could not resolve the connect identifier specified
    对于初学者,我反复的在"Oracle - OraDb10g_home3"下的"配置和移植工具"中的"Net Manager"中查找问题所在.请教高手,也没有召见问题的原因.我郁闷了,随后自己决定来搞定这个问题.
    我做了大量的反复的资料查看和自我检查,灵感在下班的时候出现,我突然意识到我的"环境变量"一直被忽视.
打开后我发现我当前的环境变量这样设置的:
path  ==  E:\oraclient_2;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
问题出现了.随后我该成如下:
path  ==  E:\oracle;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

OK !!! 问题在最后的关头被我解决了!!!不错.
这就是: "不抛弃 不放弃"
posted @ 2008-06-22 14:30 adi 阅读(4405) 评论(5) 编辑