• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

连接Oracle数据库,引发“System.InvalidOperationException”类型的异常

zjq0034 2012-03-20 05:00:35
用同样的连接字符串,在C/S程序上就可以正常连接到Oracle数据库,而当在B/S架构的程序中运行时,就会出现ServerVersion = “ocon.ServerVersion”引发了“System.InvalidOperationException”类型的异常,而系统并不会抛出这个异常,只是抛出“ORA-12154: TNS: 无法解析指定的连接标识符”,这让我很疑惑,数据库和程序都在本地
以下是相关信息:
数据库版本:Oracle10g
开发工具:VS2010(注:之前给客户发布的.NetFramework2.0的版本,在服务器上正常运行了2年,然而最近客户服务器升级,换了台机器,我将原来的程序直接拷贝过去,竟然不好用了……)
我笔记本的配置: 处理器 英特尔 Core i3-2310M @ 2.10GHz 双核
主板 联想 KL5 (英特尔 HM65 芯片组)
内存 4 GB ( 三星 DDR3 1333MHz )
连接字符串:Data Source = orcl_ZhouJQ;User ID = cop;Password = cop,这套连接字符串我已经用了好几个项目,应该没什么可质疑的

百度之后,有个说是内存过高的问题,不理解,不明白,也没办法用这个理由跟客户解释,请各位高人帮帮忙,看看是怎么回事吧,小弟着急,拜托了!
...全文
443 点赞 收藏 18
写回复
18 条回复
xieweiting 2013年06月07日
那请问楼主现在问题解决了没?
回复 点赞
zjq0034 2012年03月23日
求救啊!!!各位高人们!
回复 点赞
zjq0034 2012年03月22日
贴沉大海了……
回复 点赞
zjq0034 2012年03月21日
C/S和B/S现在用的都是4.0
回复 点赞
xuan.ye 2012年03月21日
System.Data.OracleClient, Version=4.0.0.0,

是不是你这个版本对不上,b/s用的4.0,c/s 用的2.0 客户那里装的也是2.0?
回复 点赞
zjq0034 2012年03月21日
不会啊,我用C/S程序访问的也是同样的地址,不会有错的啊,C/S的就可以访问的……
回复 点赞
xuan.ye 2012年03月21日
客户端 我指的是web服务器,或者你想安装b/s程序的地方
回复 点赞
xuan.ye 2012年03月21日
orcl_ZhouJQ 这个指的是客户端oracle实例,你会不会把这个搞错了?
回复 点赞
zjq0034 2012年03月21日
我using的都是System.Data.OracleClient命名空间的,应该是系统自带的……
回复 点赞
xuan.ye 2012年03月21日
我自己一般编写.net 连接oracle项目都是用odp for .net (即用oralce官方提供的oralceAccess.dll)
去连接oracle,这种要求web服务器上的dll版本和服务器要保持一致,不一致会出现LZ说的这种错误。

你的项目是不是采用了这种方式?

如果你不确定是不是采用了,可以看一下项目中的引用 using 下的是微软的名字空间,还是oracle公司的名字空间。

如果是微软的,你可以考虑其他可能;

如果是oracle公司的,你只要安装相对应数据库服务器的客户端版本后,搜索安装目录下的oralceAccess.dll
用这个dll替换b/s项目下的dll即可改正错误
回复 点赞
xuan.ye 2012年03月21日
如果c/s 能连上,但是b/s连不上,并且都是采用相同的连接字符串,肯定还是在项目的bin下的连接oracle的dll的问题,你可以先仔细检查一下,或者直接拿你好使的c/s中的dll替换掉b/s中的dll
回复 点赞
zjq0034 2012年03月21日
呃…………能说的详细点吗?因为我新建的测试工程里面也有重新引用System.Data.OracleClient,但是仍旧是这个错误,请问楼上所说的oracle的dll是指的?
回复 点赞
xuan.ye 2012年03月21日
好像是连接oracle的dll版本问题,重新引用客户端的连接dll
回复 点赞
zjq0034 2012年03月21日
对了,用PLSQL和自己写的winform程序都是可以访问的,所以让我很是不解
回复 点赞
ycproc 2012年03月20日

应当是你的环境问题

你看看 Oracle的连接 配置文件
回复 点赞
hyrjlzw 2012年03月20日
http://zhidao.baidu.com/question/176676428.html
回复 点赞
zjq0034 2012年03月20日
呃…………总觉得和连接字符串没关系……不过明天还是试试
回复 点赞
licai1210 2012年03月20日
server这个试试Data Source = orcl_ZhouJQ;User ID = cop;Password = cop
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告