首页 新闻 会员 周边

求救,the underlying provider failed on open

0
悬赏园豆:100 [待解决问题]

1、通过一个叫Devart for oracle 的组件访问数据库。
2、使用的Entity Framework4.0访问数据库
3、XP系统,并没有安装oracle客户端

在登录系统,通过linq查询时发生错误,the underlying provider failed on open,innerexception的信息是ora-12571。
在部分XP系统中出现了这个问题,有两台电脑重装了系统后,装的是同一个Ghost系统,但是有一台问题解决了,另一台的问题依旧,搞了好几天实在是没有眉目,特意来请教各位高手。

在网上查the underlying provider failed on open这个错误说是因为使用entity Framework出现了多个连接,但是通过检查代码也没发现。打印Debug信息也没问题


实在是没辙了,有多少分给多少分

厄尔尼诺的主页 厄尔尼诺 | 初学一级 | 园豆:58
提问于:2012-06-20 13:35
< >
分享
所有回答(4)
0

底层提供者打开失败。

看这个信息,是你的数据库服务驱动不存在或连接数据库失败导致的。

先确认,这台服务器能连接到数据库服务器(使用简单的CONNECTION的OPEN),如果能连接,继续检查驱动程序。

无之无 | 园豆:5095 (大侠五级) | 2012-06-20 13:39

首先谢谢你的回答。是客户端程序,有的可以有的不可以,不能够连接的仿佛都是比较集中的一个单位的。

另外怎么检查驱动程序能赐教么,我在底层这方面比较小白,您别嫌烦,呵呵

支持(0) 反对(0) 厄尔尼诺 | 园豆:58 (初学一级) | 2012-06-20 13:48

@厄尔尼诺: 应该翻译说“基础服务打开失败”更适合。

错误信息是这个,但错误不能就锁定在这个点上,也许是别的原因导致的,这个是不能确定的。

从你提供的错误信息来看,就是我说的那两种可能性很大。

你可以按照我的步骤去操作,跟踪下运行,检测异常等。

我对你说的第三方组件不熟悉(也没用过ORACLE)。

 

首先,你写一个简单的程序,什么都不要做,就是调用第三方的程序实现数据库连接的打开与关闭操作。你看下是否能打开。

这里面:你的第三方程序是否授权连接服务器也是一个可能,然后电脑是否能正确连接到ORACLE数据库服务器也是一种可能(这个好检测,通过TELNET IP PORT的形式就能检测,通了,就是能连接数据库的)。

支持(0) 反对(0) 无之无 | 园豆:5095 (大侠五级) | 2012-06-20 14:21

就是链接数据库字符串不对.

支持(0) 反对(0) | 园豆:332 (菜鸟二级) | 2017-06-13 11:04
0

是权限问题吧

999999999999999 | 园豆:3 (初学一级) | 2012-06-20 22:24

什么权限问题

支持(0) 反对(0) 厄尔尼诺 | 园豆:58 (初学一级) | 2012-06-21 09:41

大哥能告诉我是什么权限问题么,

支持(0) 反对(0) 厄尔尼诺 | 园豆:58 (初学一级) | 2012-06-27 17:06
0

我今天也碰到这个问题了,我的数据库是放在程序根目录下的App_Data文件夹下,结果在运行的时候就报了那个错误,然后我把数据挪到其他地方后再连接就不报错了

轩辕公子 | 园豆:131 (初学一级) | 2012-08-24 16:04
0

System.Data.EntityException: The underlying provider failed on Open

客户端以管理员身份运行:netsh winsock reset命令,作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。 netsh是一个能够通过命令行操作几乎所有网络相关设置的接口,比如设置IP,DNS,网卡,无线网络等,Winsock是系统内部目录,Winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口,reset是对Winsock的重置操作。当执行完winsock的命令重启计算机后,需要重新配置IP

我用这个方法解决了问题

w158357686 | 园豆:204 (菜鸟二级) | 2014-07-04 17:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册