实例崩溃:使用光标的可保持性 [英] Instance crash: playing with cursor's holdability

查看:68
本文介绍了实例崩溃:使用光标的可保持性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好。


v8.2.7,windows xp。


---

create procedure cursor_test ()

语言sql

动态结果集1

开始

声明c1游标

- 持有

返回

select * from sysibm.sysdummy1;

open c1;

结束@


创建程序cursor_test2(输出p_out字符(1))

语言sql

开始

DECLARE loc1 RESULT_SET_LOCATOR变化;


调用cursor_test();

commit;

ASSOCIATE RESULT SET LOCATOR(loc1)

WITH PROCEDURE cursor_test;

ALLOCATE C1 CURSOR FOR RESULT SET loc1;

OPEN C1;

FETCH C1 INTO p_out;

关闭C1;

结束@

---


声明
调用cursor_test2(?);

导致实例崩溃。

当我评论commit时,所有工作都按预期工作

cursor_test2过程中的语句或将c1游标声明为with hold;在

cursor_test程序。


此致,

马克B.

Hello.

v8.2.7, windows xp.

---
create procedure cursor_test()
language sql
dynamic result sets 1
begin
declare c1 cursor
--with hold
with return for
select * from sysibm.sysdummy1;
open c1;
end@

create procedure cursor_test2(out p_out char(1))
language sql
begin
DECLARE loc1 RESULT_SET_LOCATOR VARYING;

call cursor_test();
commit;
ASSOCIATE RESULT SET LOCATOR (loc1)
WITH PROCEDURE cursor_test;
ALLOCATE C1 CURSOR FOR RESULT SET loc1;
OPEN C1;
FETCH C1 INTO p_out;
CLOSE C1;
end@
---

statement
call cursor_test2(?);
leads to instance crash.
All works as expected when I comment "commit" statement in
cursor_test2 procedure or declare c1 cursor as "with hold" in
cursor_test procedure.

Sincerely,
Mark B.

推荐答案

4.****@mail.ru 写道:
4.****@mail.ru wrote:

你好。


v8.2.7,windows xp。


---

创建程序cursor_test()

语言sql

动态结果集1

开始

声明c1光标

- 持有

返回

select * from sysibm.sysdummy1;

打开c1;

结束@


创建程序cursor_test2(输出p_out char(1))

语言sql

开始

DECLARE loc1 RESULT_SET_LOCATOR变化;


调用cursor_test();

commit;

ASSOCIATE RESULT SET LOCATOR(loc1)

WITH PROCEDURE cursor_test;

ALLOCATE C1 CURSOR FOR RESULT SET loc1;

OPEN C1;

FETCH C1 INTO p_ out;

关闭C1;

结束@

---


语句

调用cursor_test2(?);

导致实例崩溃。

当我评论commit时,所有工作都按预期工作

cursor_test2过程中的语句或将c1游标声明为with hold;在

cursor_test程序中。
Hello.

v8.2.7, windows xp.

---
create procedure cursor_test()
language sql
dynamic result sets 1
begin
declare c1 cursor
--with hold
with return for
select * from sysibm.sysdummy1;
open c1;
end@

create procedure cursor_test2(out p_out char(1))
language sql
begin
DECLARE loc1 RESULT_SET_LOCATOR VARYING;

call cursor_test();
commit;
ASSOCIATE RESULT SET LOCATOR (loc1)
WITH PROCEDURE cursor_test;
ALLOCATE C1 CURSOR FOR RESULT SET loc1;
OPEN C1;
FETCH C1 INTO p_out;
CLOSE C1;
end@
---

statement
call cursor_test2(?);
leads to instance crash.
All works as expected when I comment "commit" statement in
cursor_test2 procedure or declare c1 cursor as "with hold" in
cursor_test procedure.



DB2实例永远不会崩溃。期。所以你应该打开一个PMR来

调查和修复这个问题。


问题是否仍然适用最新的FP?版本怎么样

9?也许这将是一个更简单,更快捷的解决方案...


-

Knut Stolze

DB2 z / OS实用程序开发

IBM德国

DB2 instances should never ever crash. Period. So you should open a PMR to
get this investigated and fixed.

Does the problem still occur with the latest FP applied? How about Version
9? Maybe that would be an easier and quicker solution...

--
Knut Stolze
DB2 z/OS Utilities Development
IBM Germany


DB2实例永远不会崩溃。期。所以你应该打开一个PMR到
DB2 instances should never ever crash. Period. So you should open a PMR to

调查并修复它。


问题是否仍然出现在最新的FP中应用?版本怎么样

9?也许这将是一个更简单,更快捷的解决方案...
get this investigated and fixed.

Does the problem still occur with the latest FP applied? How about Version
9? Maybe that would be an easier and quicker solution...



FP14(v8.2.7)是最新的修复包。

我可以'打开PMR或用v9检查。

但这是一个严重的问题,我呼吁任何可以打开PMR的人来这样做。

这样做。


PS:

另外:

这个简单的陈述:

值处理(1为int);

不仅崩溃了v8.2.7而且崩溃了v9.1.2(两者都在Windows上)...

帮助,某人!!!

FP14 (v8.2.7) is the latest fixpack.
I can''t open PMR or check it with v9.
But it''s a serious problem and I appeal to anyone who can open PMR to
do it.

P.S.:
In addition:
This simple statement:
values treat(1 as int);
crashes not only v8.2.7 but v9.1.2 too (both on windows)...
Help, somebody!!!


4.****@mail.ru 写道:

另外:

这个简单的陈述:

值对待(1为int);

崩溃不仅是v8.2.7而且是v9.1.2(都在Windows上)......

帮助,有人!
In addition:
This simple statement:
values treat(1 as int);
crashes not only v8.2.7 but v9.1.2 too (both on windows)...
Help, somebody!!!



我将在这个工作 - 虽然它是一个非法的构造实例

不应该崩溃。


用你的光标 - 它是类似的场景:提交关闭所有打开

游标除了那些定义为WITH HOLD。


另外 - 建议不要从SP发出COMMIT。但是 -

实例不应该崩溃。


Jan M. Nelken

I will work on this one - although it is an illegal construct instance
should not crash.

With your cursor one - it''s similar scenario: commit closes all open
cursors except those defined WITH HOLD.

In addition - it is *not* recommended to issue COMMIT from the SP. But -
instance should not crash.

Jan M. Nelken


这篇关于实例崩溃:使用光标的可保持性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆