社区
数据库相关
帖子详情
ado 如果断开 怎么重连????
mandarin
2010-06-13 10:39:30
ado连接oracle数据库,如果连接长时间不用被防火墙端口后,怎么重连?
用简单的先close,在open 不行,有高手知道怎么解决吗?
...全文
549
16
打赏
收藏
ado 如果断开 怎么重连????
ado连接oracle数据库,如果连接长时间不用被防火墙端口后,怎么重连? 用简单的先close,在open 不行,有高手知道怎么解决吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
言墨此生
2012-05-30
打赏
举报
回复
[Quote=引用 15 楼 的回复:]
试出来了,close后sleep 3秒钟就可以连上了,之前是sleep 2秒钟后在open的,哎
[/Quote]
这个方法有用,哈哈,谢谢你啦。楼主竟然没采纳?
yudechibang88
2010-07-22
打赏
举报
回复
socketcn吧!
SQLDebug_Fan
2010-07-22
打赏
举报
回复
重新创建重连的代价不大,就是创建一个对象,瞬间完成。
mandarin
2010-07-22
打赏
举报
回复
重新创建重连是可以的,但是觉得代价比较大
mandarin
2010-07-22
打赏
举报
回复
试出来了,close后sleep 3秒钟就可以连上了,之前是sleep 2秒钟后在open的,哎
Harryfin
2010-06-17
打赏
举报
回复
[Quote=引用 4 楼 liangqingzhi 的回复:]
所以我怀疑是控件的原因,我建议楼主的TADOConnect控件使用动态生成,发现连接被隔断之后,释放掉这个控件重新创建。
[/Quote]
这样你所有数据集控件的CONNECTION引用都要重新赋值一次..
xjwy
2010-06-17
打赏
举报
回复
学习,帮你顶
yct0605
2010-06-17
打赏
举报
回复
[Quote=引用 4 楼 liangqingzhi 的回复:]
以前用delphi做oracle项目的时候,也遇到这个问题。被防火墙隔断,会变成空连接,客户端这边不会有断开的提示。
如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。
后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK
……
[/Quote]
推荐使用这种方法,动态创建控件,跟踪错误信息。
haitao
2010-06-17
打赏
举报
回复
我ado连sql2000/2005,断了直接再open就行的
是不是连oracle就是比较特别?而且是出错后导致的断开,才这么特别?
mandarin
2010-06-17
打赏
举报
回复
[Quote=引用 4 楼 liangqingzhi 的回复:]
以前用delphi做oracle项目的时候,也遇到这个问题。被防火墙隔断,会变成空连接,客户端这边不会有断开的提示。
如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。
后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK
……
[/Quote]
如果是普通的socket链接的话 这个什么意思,我用TADOConnect控件close再open也不行。。。。
麦客来了
2010-06-13
打赏
举报
回复
检测到断开以后的操作就是重新连接
XD王
2010-06-13
打赏
举报
回复
Lz 问的是怎么重连而不是断开检测吧..
抢板凳候高手答疑~
麦客来了
2010-06-13
打赏
举报
回复
写一个TConnectionHelper类包装AdoConnection,在这个类中处理断开检测逻辑,AdoQuery等访问数据库的类都从TConnectionHelper类中获取Connection。
ahaqcjm
2010-06-13
打赏
举报
回复
是否可试用ADOCONTION组件,在程序中给ADOCONTION.string赋值
hsmserver
2010-06-13
打赏
举报
回复
楼上的好久没冒泡了
老之
2010-06-13
打赏
举报
回复
以前用delphi做oracle项目的时候,也遇到这个问题。被防火墙隔断,会变成空连接,客户端这边不会有断开的提示。
如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。
后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK
所以我怀疑是控件的原因,我建议楼主的TADOConnect控件使用动态生成,发现连接被隔断之后,释放掉这个控件重新创建。
ADO
.NET的连接式和
断开
式
ADO
.NET的连接式和
断开
式
ADO
.NET
断开
式连接
static public void duankaicon() { //一、两种身份验证:windows身份验证、SqlServer身份验证 string st1 = server=.;database=orderdinner;Integrated Security = true; string st2 = server=.;...
用
断开
模式和连接模式对数据库进行查删添改的操作
这是1个简单的
ADO
.NET的基本操作,适合新手入门!!!
c# 利用
ADO
.Net访问数据库
1、掌握
ADO
控件与数据库连接的
断开
式方式 2.、掌握
ADO
对象与数据库连接的联机式方式 3、利用
ADO
数据对象执行数据的显示和更新 4.、能结合本课程所学知识,编写实用的数据库应用程序,如简单的学生信息管理...
ADO
.NET –连接数据库
ADO
.NET –连接数据库
ADO
.NET从数据库中检索全部数据并将这些数据缓存到客户端计算机上,仅在需要从数据库中检索数据时才建立连接,这种结构通常称为
断开
式数据结构。
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章