最近由WindowsXP换到了Windows2003系统(Windows 7),Oracle也由原来的8i换到了9i。给客户发布了一个web系统,部署在本机IIS上测试的时候出现了“取不到缓存数据”的自定义异常,经过跟踪找到原因,在连接数据库时,出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”异常。

我的本机环境为(.netframework3.5+ Oracle9i+IIS6+Windows2003)+(.netframework3.5+ Oracle9i+IIS6+Windows7) 。

最初想到的是IIS里网站设置的问题,于是查看发布网站的应用程序池为默认的DefaultAppPool,于是将其设置为MSSharePointAppPool,测试发现网站可以正常访问,没有上述问题出现。于是查看应有程序池中的两者的属性,发现DefaultAppPool属性——>标识选项卡——>预定义账户为“网络服务”,而MSSharePointAppPool属性——>标识选项卡——>预定义账户为“本地系统”,看来问题是出现在这里了,猜测是某些访问权限上的问题,于是搞了半天终于找到了原因,原来当Oracle 9.2运行在NTFS的分区上时,对于某些非administrator组的用户,ORACLE_HOME 目录是不可见的,而在windows server 2003下asp.net应用使用的帐户是netword service,因此无法创建oracle连接,只要重设一下ORACLE_HOME目录的权限就可以了,但是以前用8.17客户端的时候去没有出现过这种问题。

解决方法:

1. 以管理员的用户登录。
2. 找到ORACLE_HOME文件夹(我的是E:\oracle),点右键,选属性--安全,添加Everyone用户,如果有则设置权限为允许完全控制。

3. 重新IIS(请注意,这一步很重要)。
4. 浏览网站,一切正常。

连接Oracle数据库失败(ORA-12514)故障排除
ORA-12514的故障是很多新手在连接Oracle数据库时经常遇到故障,它通常表示无法连接到数据库实例,这里姚远老师告诉大家如何排除这类故障。
ORACLE 11g【安装流程】及部门问题解决,ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 下
ORACLE 11g【安装流程】及部门问题解决,ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 下
ORACLE 11g【安装流程】及部门问题解决,ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 上
ORACLE 11g【安装流程】及部门问题解决,ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 上
SpringBoot中连接oracle出现告警信息
前几日领导说需要连接友商的Oracle,然后读取友商的数据展示到页面来。工作还是需要做的嘛,虽然比较简单些,但是工作量还是有的(此处划水摸鱼了呢?)。为了演示连接成功和可以读取数据,我在本地搭建了一个Oracle,然后作为测试来模拟读取,后续只需要替换下连接器的连接即可。然后,在启动SpringBoot项目时,有一个很显眼的WARN红色字体在控制台打印出来了。