在用VS.NET2005+Oracle9.2进行开发的时候,在本地测试可以通过,但是在服务器上不能实现(复制网站,发布网站都不行),报错的具体内容,没记下来,大概就是:
"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"
在网上查询了很长时间也没有见效,后来综合网上的很多方法,终于测试成功,现分享一下。
出错的原因:
1.虽然报的是需要安装客户端8.1.7及以上版本但是并非这个,而是.net账户没有访问Oracle\bin文件夹的权限
2.windows2003操作系统安装在NTFS格式的盘中,如果是FAT32也就没有这个问题,看来NTFS格式在安全性这方面作的确实出色。
废话少说,还是看看我的解决方法吧。
2.点击“高级”----“立即查找”,在下面显示的账户中选择“NTWORK SERVICE”(注意:IIS6中aspnet的账户是NTWORK SERVICE;而在IIS5中是aspnet。总之,在搜索出的账户中有这两个账户中的哪一个就选哪一个,因为我没有见过这两个账户共存的,哈哈,估计不能共存吧!这个市个人见解不代表Microsoft的意见)
----将所有的权限都赋予----确定。
3.在“计算机管理”(哈哈,如果不知道怎么进入那就没办法说了)-----双击右侧的Administrators------将上一步搜索出来的账户添加进去。
4.重新启动IIS即可。可以在“运行”中输入“IISRESET”。
注意:上面这些是设置权限方面的,如果配置完上面这些报ORA-12154的错误,需要在服务器上配置“Net Configuration Assistant”。
测试的环境:Win2003(NTFS)+Oracle9.2+Vs.net2005
一定要关闭Windows 防火墙
;(博主注:博主环境是Win8.1+Oracle10.2,可以不用关闭防火墙)
2.找到ORACLE_HOME文件夹(服务器端是D:\oracle)。点击右键,选
属性
--
安全
,在组或用户栏中选“
Authenticated Users
”,在权限列表中把“
读取和运行
”的权限去掉,再按应用(据说这是Oracle的一个Bug,在9i版本中也存在);重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认
“Authenticated Users”后面的应用于是“
该文件夹、子文件夹及文件
”,按确定把权限的更改应用于该文件夹;
3.重新启动计算机,让权限设置生效(也可以不重新启动,在运行里运行cmd打开命令窗口,运行命令iisreset,重启下IIS,就可以正常访问);
4.最后客户端如果还不能访问,(我客户端用的是VS2005,用的是其内置的IIS测试代码)重新启动VS2005即可。
转载自:http://www.cnblogs.com/Mr_JinRui/archive/2010/07/29/1787829.html
在用VS.NET2005+Oracle9.2进行开发的时候,在本地测试可以通过,但是在服务器上不能实现(复制网站,发布网站都不行),报错的具体内容,没记下来,大概就是:"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"在网上查询了很长时间也没有见效,后来综合网上的很多方法,终于测试成功,现分享一下。出错的原因:1.虽然报的是
同学的电脑连接实验室的服务器时出现“System.
Data
.
Oracle
Client
需要
Oracle
客户端
软件
version
8.1
.7 或
更
高
版本
”,而我自己的电脑可以轻松连接服务器的数据库。首先,实验室用的是
Oracle
12c(非插拔式数据库),操作系统是Windows server 2012,开发平台是vs2013。此问题要分为两步
解决
。
1、服务器端添加权限
在用VSTS2005/2008+
Oracle
9做环境连接
Oracle
时候,在VS 开发服务器运行正常,但IIS服务器调试和部署会报错!
IIS服务器报错:System.
Data
.
Oracle
Client
需要
Oracle
客户端
软件
8.1
.7 或
更
高
版本
。
出错的原因:
1.虽然报的是
需要
安装
客户端
8.1
.7及以上
版本
,实际是.net账户没有访问
Oracle
\bin...
你确定能连
Oracle
,用PLSQL Developer 或者其他能链接。
System.
Data
.
Oracle
Client
需要
Oracle
客户端
软件
8.1
.7 或
更
高
版本
。
解决
方法
1.下载instant
client
_11_2,解压到任意目录下
2.在配置一下环境变量。
系统变量:在Path中,加入dll的路径;eg:D:\Program Files\PremiumSoft\Navicat Premium\instant
client
_11_2
用户变量:加一个
ORACLE
_HOME,也是这个路径;
3.重启电脑(重要)
这是
Oracle
的一个bug.因为
Oracle
安装在NTFS分区上,其访问权限受到限制。.虽然报的是
需要
安装
客户端
8.1
.7及以上
版本
但是并非这个,而是.net账户没有访问
Oracle
/bin文件夹的权限,可采用如下方式
解决
:
解决
方案
1.在
Oracle
/bin文件夹上右键——-共享和安全——安全—–点击“添加”按钮,出现下面的界面
2.点击“
高
级”—-“立即查找”,在下
C#连接
ORACLE
报System.
Data
.
Oracle
client
需要
Oracle
客户端
软件
Version
8.1
.7或
更
高
版本
问题:
开始Webservice在32位系统
ORACLE
10g库中web.config中连接串为:
<add name="EMRConnectionString" connectionString="
Data
Source=TEST1;User ID=TEST...