Oracle 使用记录,无效操作,连接已被关闭 20200510

本文记录了在医院部署webservice时遇到的Oracle数据库连接问题及解决方案,包括使用oledbConnection连接Oracle10g的错误处理,以及在服务器环境中调试与部署webservice的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle 使用记录,无效操作,连接已被关闭 20200510

1

今天在医院部署webservice,需要使用oledbConnection连接Oracle数据库
服务器环境 win2008 + iis;
数据库服务端Oracle10g;

本机测试没有问题,但是在服务器部署之后,webservice调用异常,但是没有提示,判断是连接数据库出错

之后在服务器上安装VS2010 开发工具,使用代码调试,发现在连接数据库时,提示 :

无效操作,连接已关闭
在 System.Data.ProviderBase.DbConnectionClosed.get_ServerVersion()
在 System.Data.OleDb.OleDbConnection.get_ServerVersion()

解决办法:
下载一个installclient11_1,并且设置环境变量,在path中将oracle环境指向installclient11_1路径,测试可以正常连接。

参考:
oledbconnection无效操作,连接已关闭

2

解决连接问题之后,调试程序可以正常取数据,之后发布并部署。运行时程序崩溃,提示 w3wp.exe [2324] 中发生了未经处理 win32 异常,并且跳出窗口提示打开vs进行调试,调试时又会提示内存读写冲突。
开始以为是iis 网站权限问题,添加权限后依然提示错误。

打开VS2010 在webservice项目属性中找到web项,将程序调试运行改为本地IIS,并且设置虚拟目录。
继续调试运行,程序报错,在连接数据库时提示:
System.StackOverflowException

栈溢出,目前尚未解决

后续:已经完成,忘了写了,犯了两个错误
(1)数据库连接语句写错了;
(2)在错误日志中调用了数据库时间。当数据库连接失败需要写日志时,需要先连接数据库获取时间,但是数据库连接不上,再次写日志,造成无限递归。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值