win7下.NET连接oracle,提示错误OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

最近三天痛苦了,被oracle和.NET之间的连接头都搞大了,经过不但的安装和找原因,终于搞清楚了一下两点:

(1)System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”

(2)System.Exception: OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。

 

解决问题一:

一连接数据库就出错误,刚开始弹出

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

解决方法:刚开始我觉得我通过webservice调用远程服务的oracle数据库,我不操作oracle数据库,因此,我本机上不需要安装oracle数据库,理论上觉得应该是这样的,可是最后发现,这样是不对的,结论:c#写的webservice调用远程的oracle数据库时,本机上也要安装客户端,而java则不需要。安装客户端后问题得到解决。

 

解决问题二:

win7下.net2008 连接oracle,提示错误OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

 

在操作Oracle时出现以下错误:

   System.Exception: OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。

   在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)  

   在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)  

   在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)  

  在 System.Data.OracleClient.OracleConnection.Open()

 

我是通过webservice调用远程服务器的Oracle数据库,本机没有安装Oracle

经过一天的网上找资料,不断的调试和安装,终于找到原因了:

一切的一切都是WIN7的安全模式,权限问题,在win7下要用管理员身份运行所有的不兼容软件

 

 

解决方案:找到vs2008,右击“以管理员身份运行”,启动vs2008,然后打开项目/解决方案,选中你的程序,运行,通过。

之所以弹出以上的错误,都是因为身份不够,以管理员身份运行就OK了

总结:WIn7比XP多了个管理员权限,就是右击程序有“以管理员身份运行”

因此,当你的程序,代码在XP下能运行时,而在win7下弹出错误,就试试这个方法,在你的程序上右击“以管理员身份运行”,一般都能解决问题。

 

PL/SQL也要用管理员身份运行,否则也是连不上。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值