连接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,这套连接字符串我已经用了好几个项目,应该没什么可质疑的

百度之后,有个说是内存过高的问题,不理解,不明白,也没办法用这个理由跟客户解释,请各位高人帮帮忙,看看是怎么回事吧,小弟着急,拜托了!
...全文
1192 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧