oracle 无法从套接字段,oracle – 无法从套接字读取数据

我的程序看起来像这样:

Declare

cur_1 Sys_Refcursor;

cur_2 Sys_Refcursor;

v_1 VARCHAR2(30);

v_2 VARCHAR2(30);

v_3 VARCHAR2(30);

v_4 VARCHAR2(30);

Begin

OPEN cur_1 for Select * from tab1@dblink1;

Loop

Fetch cur_1 into v_1, v_2;

EXIT WHEN cur_1%NOTFOUND;

OPEN cur_2 for Select * from tab2@dblink1 where col1 = v_1 and col2 = v2;

Loop

Fetch cur2 into v_3, v_4;

Exit when cur_2%notfound;

INSERT INTO local.tab3 values (v_1,v_2, v_3, v_4);

END Loop;

close cur_2;

End Loop;

close cur_1;

END;

abobe程序编译,但是当我运行它时,我得到以下错误:

No more data to read from socket

No more data to read from socket

No more data to read from socket

No more data to read from socket

No more data to read from socket

No more data to read from socket

No more data to read from socket

No more data to read from socket

…(Few more ‘No more data to read from socket’)

IO Error: Connection reset by peer: socket write error

Process exited.

有趣的是,当我注释掉整个内循环时,程序运行没有错误.所以我知道内部循环有问题(我尝试只在内部循环中注释insert语句并得到相同的错误).

我的localdb和dblink1数据库都有相同的版本:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production

PL/SQL Release 11.2.0.1.0 – Production

CORE 11.2.0.1.0 Production

TNS for 64-bit Windows: Version 11.2.0.1.0 – Production

NLSRTL Version 11.2.0.1.0 – Production

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值