系统环境: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 或更高版本”的问题解决摘要的更多相关文章

  1. oracleclient连oracle库 报System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    在iis下发布eworkflow+eform+ebiao的代码,访问oracle的数据库,用oracleClient或者oledb的方式连接,有时会报“System.Data.OracleClient ...

  2. System.Data.Oracleclient需要Oracle客户端软件Version8.1.7或更高版本问题

    C#连接ORACLE报System.Data.Oracleclient需要Oracle客户端软件Version8.1.7或更高版本问题: 开始Webservice在32位系统ORACLE10g库中we ...

  3. “System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本” 的解决方案

    在项目部署过程中ORACLE客户端多次会遇"System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本&qu ...

  4. System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    问题描述: c#程序本机运行没有问题,部署到正式环境后报错: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 思考: 难道真是客户端的问题吗? ...

  5. 解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”

    问题描述:远程访问该数据库(客户端同样是Oracle11g)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”. 解决的办法: 1.一定要关闭Win ...

  6. Reporting Services无法连接ORACLE,提示:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    Reporting Services无法连接ORACLE,在服务器安装ORACLE 11客户端版本后仍然提示以下错误: System.Data.OracleClient 需要 Oracle 客户端软件 ...

  7. c# System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本

    前几天遇到了这个问题,情景是与oracle数据库连接的时候出现的.本机已经安装了客户端,使用toad数据库工具能够与数据库相连进行相关的操作.但是在使用代码进行连接的时候出现了这样的问题.找了好久,都 ...

  8. System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本问题

    出错的原因: 1.虽然报的是需要安装客户端8.1.7及以上版本,实际是由于.NET账户没有访问Oracle\bin文件夹的权限 2.在 Windows Server 2003/2008 或Window ...

  9. asp.net 连接oracle,报错误“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    1.http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载对用版本的Instan ...

随机推荐

  1. Mac下git命令自动补全

    当我第一次在mac上安装git,[tab]补全装成功了,但是我没有记录,当我过一段时间在重装的时候,我已经忘记了,又是各种查资料,再次做一下简单的记录. 首先,我因为还是mac小白,所以使用Homeb ...

  2. Web Workers

    在 Web Workers 中使用 postMessage 和 onmessage 首先,需要在客户端页面的 JavaScript 代码中 new 一个 Worker 实例出来,参数是需要在另一个线程 ...

  3. html5实战2

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-e ...

  4. NSString格式校验

    在项目开发过程中,NSString类型的变量是经常用到的,而且我们常常会对其格式进行对应的各种校验,你比如,在登录注册的时候,需要验证用户名的长度,用户名的字符组成等等,其实现在也有很多第三方提供的N ...

  5. 数据库Date类型和JavaDate类型的转换

    问题:     java.lang.ClassCastException : java.util.Date cannot be cast to java.sql.Date 1.若是想将字符串装换成sq ...

  6. cuda计算的分块

    gpu的架构分为streaming multiprocessors 每个streaming multiprocessors(SM)又能分步骤执行很多threads,单个SM内部能同时执行的thread ...

  7. blender 2.6 快捷键

    右键单击 选中 A 取消选择/全选 中键拖动 旋转 中键滚动放大/缩小 Shift+中键拖动 平移 右上斜线三角区域拖动 产生新视窗 Shift+c准星复位 Num1前视图 Ctrl+Num1后视图 ...

  8. 查看Mysql表分区语句

    SELECT partition_name part, partition_expression expr, partition_description descr, table_rows FROM ...

  9. Redhat Linux /etc/profile 与 /etc/bashrc 的区别

    最近学习RHCE,在umask这里,书里说要修改/etc/profile和/etc/bashrc两个文件,却没有说明这两个区别.于是在上网查看之后倒是明白了各是怎么用的./etc/profile是对应 ...

  10. AIX 文件 打包 与 压缩 tar gzip compress 的使用

    今天在Aix用tar -cvf 备份,打成tar包,占有硬盘空间过大,没有压缩比, 尝试使用tar -zcvf  linux系统下可以用-z 命令 (z 用gzip来压缩/解压缩文件,加上该选项后可以 ...