起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 659|回复: 27

调用远程oracle数据库出现通道问题**

[复制链接]
发表于 2009-6-5 18:00:42 | 显示全部楼层 |阅读模式
程序里面需要调用远程oracle数据库(与X3平台的数据库不在同一台机子),程序运行空闲一段时间后运行程序,会出现通信通道文件结束问题(见附图),再次运行程序会恢复正常。

估计是调用远程oracle数据库中断一段时间后,连接被释放,空闲一段时间后再运行,不会自动建立连接,所以导致程序报错。请问这问题怎么解决。


注:我们远程数据库与本机数据库网络连接非常好,不会出现网络中断问题。

snap1.jpg

974.23 KB, 下载次数: 231

回复

使用道具 举报

发表于 2009-6-6 09:44:34 | 显示全部楼层
不太清楚这个设置。
回复 支持 反对

使用道具 举报

发表于 2009-6-6 09:53:07 | 显示全部楼层
oracle 数据库版本是什么版本?

看看这个贴子能不能对你有帮助?
http://www.dbanotes.net/Oracle/ORA-03113.htm
回复 支持 反对

使用道具 举报

发表于 2009-6-6 09:55:28 | 显示全部楼层
ORA-03113 错误的解决办法2007-06-28 10:39PL\SQL DEVELOPER连接数据库过一段时间不动它的话就与数据库的连接断开了,报错通信文件结束
网上整理所得
解决办法:
select username,profile from dba_users where username='name';

USERNAME     PROFILE

name      DEFAULT

如果用户的profile是DEFAULT的话,就检查网络、防火墙等的问题,
否则是用户profile是自定义的话,看看自定义profile中的connect_time: 允许连接的时间,单位分钟。

select * from dba_profiles where profile='max' and resource_name='CONNECT_TIME';

PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT

   max    CONNECT_TIME KERNEL DEFAULT
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-8 14:13:44 | 显示全部楼层
经查,我连接的远程数据库用户的profile是DEFAULT
网络和防火墙是没有问题的

或者能否告诉我通过什么方式与远程数据库建立连接,才不会出现第一次连接会报错的
回复 支持 反对

使用道具 举报

发表于 2009-6-8 14:33:53 | 显示全部楼层
建立同义词试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-9 09:02:40 | 显示全部楼层
我本来就是用dblink在本地oracle配置远程数据库的连接
然后建立了同义词,

我用PL SQL查询,任何时候都不会报连接异常错误

但是用X3平台上,只要程序空闲10多分钟,然后运行必定会报告我上面描述的错误
接着再运行一下,就不报错,程序运行得好好的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-9 09:50:10 | 显示全部楼层
怎么都没有回答,这个问题很难解决吗
回复 支持 反对

使用道具 举报

发表于 2009-6-9 10:04:08 | 显示全部楼层
请楼主把你的具体做法说一下,我这边测试看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-9 10:42:48 | 显示全部楼层
因为需要,X3程序中有一个地方需要访问远程oracle数据库,于是我现在本地oracle数据,用PL_SQL配置与远程数据库连接的DB_LINK,然后再建立同义词,这样就如同在本地访问远程数据库,
接着我在X3数据集中配置连接远程数据库,
当程序第一次运行到调用远程数据库时,就会报错,再次运行就好了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 07:41 , Processed in 0.052174 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表