关于IIS部署时出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”的问题解决摘要
系统环境:windows2008 X64
IIS版本:iis7
oracle客户端版本:11g,另外装了32位的客户端。
网站.net framework版本: 4.0
目前状况,IIS可以正常运行,程序页面没有调用到数据库的可以正常运行。调用到数据库的,就报 “System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”错误。
oracle客户端可以正常运行,服务器上安装了PLSQL,可以正常连接。
================================================
网上解决办法:原文地址
System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
在用VSTS2005/2008+Oracle9做环境连接Oracle时候,在VS 开发服务器运行正常,但IIS服务器调试和部署会报错!
IIS服务器报错:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。
出错的原因:
1.虽然报的是需要安装客户端8.1.7及以上版本,实际是.net账户没有访问Oracle\bin文件夹的权限
2.在 Windows Server 2003/2008 的 NTFS系统中提供了高级的访问安全性,FAT32系统也许没有这个问题。
解决办法如下:
我用Windows Server 2008 为例 Windows Server 2003 是一样的
1.打开安装有Oracle客户端的电脑,在安装目录 C:\oracle\ora90\BIN 文件夹上右键-》安全选项卡-》点击 编辑---》添加。
2.点击“查找范围”,在下面显示的账户中选择“NTWORK SERVICE” ----将“读取和执行”的权限都赋给他(如果不行就把完全控制给他,这样不安全),子文件夹继承此权限,确定。
3.打开“服务器管理器”-》配置-》 本地用户和组-》组-》adminisgrators-》将Network Service 添加进来
4.重新启动IIS,在“运行”中输入“IISRESET”。
================================================
方法二:原文地址
1.一定要关闭Windows 防火墙;
2.找到ORACLE_HOME文件夹(服务器端是D:\oracle)。点击右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在权限列表中把“读取和运行”的权限去掉,再按应用(据说这是Oracle的一个Bug,在9i版本中也存在);重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认 “Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹;
3.重新启动计算机,让权限设置生效(也可以不重新启动,在运行里运行cmd打开命令窗口,运行命令iisreset,重启下IIS,就可以正常访问);
4.最后客户端如果还不能访问,(我客户端用的是VS2005,用的是其内置的IIS测试代码)重新启动VS2005即可。
================================================
以上方法我在尝试了之后,还是不可以使用。
最后,我重装了以下Oracle客户端之后,发现可以正常运行了。
Oracle Database Instant Client 11g 11.2.0.3.0 x64 http://www.hanzify.org/software/13722.html
Oracle Database Instant Client 11g 11.2.0.3.0 x86 修正 http://www.hanzify.org/software/13506.html
后来比较了一下,网上的Oracle精简版客户端中没有sqlnet.ora 文件。
精简版安装注意事项:
1.文件夹路径不要包含特殊字符
2.配置系统环境变量
NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
ORACLE_HOME
D:\Program Files\orcale10g (oracle安装目录)
TNS_ADMIN
D:\Program Files\orcale10g (tnsnames.ora文件所在的路径)
3.添加tnsname.ora文件到目录
4.添加sqlnet.ora文件到目录
关于IIS部署时出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”的问题解决摘要的更多相关文章
- oracleclient连oracle库 报System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
在iis下发布eworkflow+eform+ebiao的代码,访问oracle的数据库,用oracleClient或者oledb的方式连接,有时会报“System.Data.OracleClient ...
- System.Data.Oracleclient需要Oracle客户端软件Version8.1.7或更高版本问题
C#连接ORACLE报System.Data.Oracleclient需要Oracle客户端软件Version8.1.7或更高版本问题: 开始Webservice在32位系统ORACLE10g库中we ...
- “System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本” 的解决方案
在项目部署过程中ORACLE客户端多次会遇"System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本&qu ...
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
问题描述: c#程序本机运行没有问题,部署到正式环境后报错: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 思考: 难道真是客户端的问题吗? ...
- 解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”
问题描述:远程访问该数据库(客户端同样是Oracle11g)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”. 解决的办法: 1.一定要关闭Win ...
- Reporting Services无法连接ORACLE,提示:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
Reporting Services无法连接ORACLE,在服务器安装ORACLE 11客户端版本后仍然提示以下错误: System.Data.OracleClient 需要 Oracle 客户端软件 ...
- c# System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本
前几天遇到了这个问题,情景是与oracle数据库连接的时候出现的.本机已经安装了客户端,使用toad数据库工具能够与数据库相连进行相关的操作.但是在使用代码进行连接的时候出现了这样的问题.找了好久,都 ...
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本问题
出错的原因: 1.虽然报的是需要安装客户端8.1.7及以上版本,实际是由于.NET账户没有访问Oracle\bin文件夹的权限 2.在 Windows Server 2003/2008 或Window ...
- asp.net 连接oracle,报错误“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
1.http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载对用版本的Instan ...
随机推荐
- android wifi Direct Audio TX/RX延迟分析
1 Direct Audio TX代码流程 1.1 从Host到FW 1.1.1 代码流程 htc.c::HifLayerRecvCallback//从HIF_USB_CONTEXT获取数据中断,具体 ...
- document.write 摘抄
页面载入过程中用实时脚本创建页面内容,以及用延时脚本创建本窗口或新窗口的内容.该方法需要一个字符串参数,它是写到窗口或框架中的HTML内容.这些字符串参数可以是变量或值为字符串的表达式,写入的内容常常 ...
- spring 装配核心笔记
(1)自动装配 开启ComponentScan(自动扫描), 通过在类使用注解@Component(默认bean id为类名第一个字符小写), 使用@Autowired实现属性,构造函数,成员函数的自 ...
- 通过cookie实现搜索框内容保存关闭浏览器之前的操作、jq js实现方法
jq实现的方法: jq需要在页面中引入JQ.cookie插件 这是一个超轻量级插件 要实现的效果: 下面是jq代码: $(function(){ var til=$("#orderInfoC ...
- SQL入门经典(九) 之自定义函数
UDF和存储过程很类似,用户自定义函数是一组有序的T-SQL语句,这些语句被预先优化和编译,并且可以作为一个单元来测试调用.UDF和存储过程的主要区别在于结果返回方式,为了能支持更多返回值,UDF比存 ...
- 一、ASP.NET MVC 路由(一)--- ASP.NET WebForm路由模拟
ASP.NET WebForm 应用,用户请求的是物理文件,其中包括静态页面和动态页面,在Url中的显示都是服务器中一个物理文件的相对路径.但是ASP.NET MVC就不同了,用户请求的是Contro ...
- Intel VT-x 基本概念
看IaaS 资料时,捎带研究下硬件虚拟化,主要参考<基于intel VT-x 的Xen 全虚拟化实现>,<intel 开发手册 第三卷 19/20章> Intel VT 是in ...
- Java IO6:字符流进阶及BufferedWriter、BufferedReader
字符流和字节流的区别 拿一下上一篇文章的例子: public static void main(String[] args) throws Exception { File file = new Fi ...
- CSS Font知识整理总结
1.什么是字体 字体是文字的外在形式,就是文字的风格,是文字的外衣.比如行书.楷书.草书,都是一种字体.同样一个字每个人写起来都会有差异,可以说每个人都有一套潜在的字体库.对于web页面来说,字体就是 ...
- Python自动化测试(1)-自动化测试及基本技术手段概述
生产力概述 在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在<参与感>一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司 ...