互联网服务

一个奇怪的存储过程报错问题

开发了个存储过程,但是调用的时候报错了,麻烦大家帮忙看看


CREATE or replace PROCEDURE PRO_SYS_ROLE_AUTO (
    IN "I_USER_ID" VARCHAR(32),
    IN "I_USER_NAME" VARCHAR(64),
    IN "I_UNIT_ID" VARCHAR(20) )
begin
  declare v_business_type integer default null;
  declare v_create_user_id varchar(30) default null;
  declare v_role_id varchar(20) default null;
  declare v_sql varchar(1000) default null;

   (1) insert into SYS_USER_FOCUS_HB("USER_ID","UNIT_ID","LONGITUDE_1","LONGITUDE_2","LATITUDE_1","LATITUDE_2","FOCUS_SHIP_TYPE","RANGE_ID","RANGE_TYPE","CREATE_DATE","CREATE_USER_ID","CREATE_IP","CREATE_PROGRAM_ID","UPDATE_DATE","UPDATE_USER_ID","UPDATE_IP","UPDATE_PROGRAM_ID","RANGEFLAG","SEAAREA_ID")
  values (i_user_id,i_unit_id,105.000000,133.000000,41.000000,3.000000,1000,null,null,sysdate,null,null,null,sysdate,null,null,null,0,null);
-----
end;

输入参数如下:
当输入
hb_qhdbjz_czy
秦皇岛边防检查站操作员
010302
时没问题,正常执行
但是输入
hb_qhdbjz_czy
河北秦皇岛边防检查站操作员
010302后,数据库就自动停掉了,必须用db2start才能起来
在红色标注处打了断点,第一组参数调用时,断点处停了,第二组参数调用时,没走到断点处就报错了,报错如下
ERROR [08001] [IBM] SQL30081N  A communication error has been detected. Communication protocol being used: "TCP/IP".  Communication API being used: "SOCKETS".  Location where the error was detected: "192.168.0.24".  Communication function detecting the error: "recv".  Protocol specific error code(s): "*", "*", "0".  SQLSTATE=08001
什么原因呢?
入参的长度也够长了啊,不明白,请大家指点。
数据库日志见附件中

附件:

附件图标ytt.txt (91.98 KB)

参与13

12同行回答

baobeizhu100baobeizhu100数据库管理员it
解决了,还是存储过程有问题显示全部
解决了,还是存储过程有问题收起
互联网服务 · 2012-11-19
浏览1151
qiluhan158qiluhan158软件工程师待业
我在连接数据库的时候碰到类似的错误 ,后来发现是计算机的“管理”里面的某些db2服务没有开启显示全部
我在连接数据库的时候碰到类似的错误 ,后来发现是计算机的“管理”里面的某些db2服务没有开启收起
金融其它 · 2012-10-15
浏览1148
weiruan85weiruan85数据库管理员ibm
数据库宕机了,得看db2diag.log ,fodc显示全部
数据库宕机了,得看db2diag.log ,fodc收起
政府机关 · 2012-10-11
浏览1237
baobeizhu100baobeizhu100数据库管理员it
回复 9# leo     确实没贴全,因为我打断点的地方都没走到就报错了,所以后面的我就没贴出来换了个环境试了,还是一样显示全部
回复 9# leo


    确实没贴全,因为我打断点的地方都没走到就报错了,所以后面的我就没贴出来
换了个环境试了,还是一样收起
互联网服务 · 2012-10-11
浏览1198
leo_wynleo_wyn商业智能工程师Security
1、存储过程的代码是不是没贴全啊?2、在测试环境下在运行试试显示全部
1、存储过程的代码是不是没贴全啊?
2、在测试环境下在运行试试收起
系统集成 · 2012-10-11
浏览1213
leo_wynleo_wyn商业智能工程师Security
? sql1131nSQL1131N  存储过程进程已异常终止。例程名称:""。特定      名称:""。说明:DB2 的体系结构设计为便于应用程序与 DB2 数据库服务器在不同的地址空间中运行。在另外的地址空间中运行应用程序,可防止应用程序编程错误导致覆盖数据库...显示全部
? sql1131n
SQL1131N  存储过程进程已异常终止。例程名称:"<例程名称>"。特定
      名称:"<特定名称>"。

说明:
DB2 的体系结构设计为便于应用程序与 DB2 数据库服务器在不同的地址空间中运
行。在另外的地址空间中运行应用程序,可防止应用程序编程错误导致覆盖数据
库管理器内部缓冲区或文件,还可以防止应用程序错误导致数据库管理器崩溃。
受防护方式进程 (db2fmp) 负责在与 DB2 数据库服务器所在地址空间不同的地址
空间中执行受防护的存储过程和用户定义的函数。

如果在运行所指定的例程时 db2fmp 进程异常终止,就会返回此消息。db2fmp 进
程可能由于许多原因而异常终止,其中包括下列原因:

*  在 db2fmp 进程所执行的存储过程或者用户定义的函数的实现中存在编码错误
   (例如,除数为 0,或者存在超出范围的指针引用)。
*  另一个进程使用信号(例如,终止信号 SIGTERM)终止了 db2fmp 进程。

用户响应:

1. 请复查存储过程或者用户定义的函数的代码并对其进行单元测试,从而确保此
   存储过程或者用户定义的函数中不存在可能会导致异常终止的编码错误。
2. 请复查正在系统上运行的所有应用程序以及正在访问系统的用户的活动,从而
   确保其他应用程序或用户将不会向 db2fmp 进程发送终止信号。
3. 请再次运行此存储过程。

请再次运行此存储过程。收起
系统集成 · 2012-10-11
浏览1229
weiruan85weiruan85数据库管理员ibm
so ga, 需要生成的fodc 以及全部的db2diag.log 从问题发生时候开始显示全部
so ga, 需要生成的fodc 以及全部的db2diag.log 从问题发生时候开始收起
政府机关 · 2012-10-09
浏览1241
baobeizhu100baobeizhu100数据库管理员it
回复 5# weiruan85 请参看附件,多谢指点啊显示全部
回复 5# weiruan85

请参看附件,多谢指点啊收起
互联网服务 · 2012-10-09
浏览1266
weiruan85weiruan85数据库管理员ibm
db2diag.log 传上来。显示全部
db2diag.log 传上来。收起
政府机关 · 2012-10-09
浏览1246
zouhuiqunzouhuiqun系统工程师北京宇信
http://www.ibm.com/developerwork ... ong/0301chong2.html显示全部
金融其它 · 2012-10-09
浏览1265

提问者

baobeizhu100
数据库管理员it

问题状态

  • 发布时间:2012-10-09
  • 关注会员:1 人
  • 问题浏览:5938
  • 最近回答:2012-11-19
  • X社区推广