db2创建PROCEDURE成功,但是运行db2 call TESTCASE() 会报错

lxs_huntingjob 2011-09-29 03:46:49
创建PROCEDURE成功,但是运行db2 call TESTCASE() 会报错,哪位大侠知道是什么原因吗
以前是console 里面的显示:
$ db2 -td@ -vf /mnt/hgfs/Win2Ubuntu-2/put_line/put_line_aix/testcase.sqp
CREATE PROCEDURE TESTCASE() RESULT SETS 0 LANGUAGE SQL
L_TESTCASE:
BEGIN NOT ATOMIC
DECLARE V_DEPTNO SMALLINT;
DECLARE V_DEPTNAME VARCHAR(20);
DECLARE V_DIVISION VARCHAR(20);
-- FOR DEBUG
DECLARE V_NUM SMALLINT DEFAULT 0;
DECLARE V_MSG1 VARCHAR(4000);
DECLARE V_MSG2 VARCHAR(1);
-- END
-- SAMPLE1
SET V_NUM=2000;
SET V_MSG1='debugging start';
VALUES(PUT_LINE(V_NUM,V_MSG1)) INTO V_MSG2;
-- SAMPLE2
VALUES(PUT_LINE(SMALLINT(2),'this is no2')) INTO V_MSG2;
-- SAMPLE3
VALUES(PUT_LINE(3)) INTO V_MSG2;
-- SAMPEL4
VALUES(PUT_LINE('##number4##')) INTO V_MSG2;
-- SAMPLE5
SET V_NUM = 0;
FOR V_C1_REC AS C1 CURSOR FOR
SELECT DEPTNUMB, DEPTNAME, DIVISION
FROM ORG ORDER BY DEPTNUMB DESC
DO
SET V_DEPTNO = v_C1_REC.DEPTNUMB;
SET V_DEPTNAME = v_C1_REC.DEPTNAME;
SET V_DIVISION = v_C1_REC.DIVISION;
SET V_NUM = V_NUM + 1;
SET V_MSG1 ='DEPTNO=' || CHAR(V_DEPTNO)||','
||'DEPTNAME='||V_DEPTNAME||','
||'DIVISION='||V_DIVISION;
VALUES(PUT_LINE(V_NUM,V_MSG1)) INTO V_MSG2;
END FOR;
VALUES(PUT_LINE(32000,'end of the program')) INTO V_MSG2;

END L_TESTCASE

DB20000I The SQL command completed successfully.

$ db2 call testcase()
sh: Syntax error: "(" unexpected
...全文
476 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxs_huntingjob 2011-10-14
  • 打赏
  • 举报
回复
int i ;
SoftwKLC 2011-10-05
  • 打赏
  • 举报
回复
接上你模式名就可以了,例如:db2 call SCHEMA.TESTCASE()
lxs_huntingjob 2011-09-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhaojianmi1 的回复:]
你在什么环境下编译c
[/Quote]
准备在Ubuntu下,据说 Eclipse 下面可以生成C文件的dll
zhaojianmi1 2011-09-29
  • 打赏
  • 举报
回复
你在什么环境下编译c
lxs_huntingjob 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhaojianmi1 的回复:]
function "put_line" 这个写对了吗
[/Quote]
我一开始用的例子里自带的put_line这个dll,应该不行,应该先在自己的机子上编译 put_line.c ,然后把生成的put_line拷贝到function文件夹下面。我检查了一下 put_line.c 这个文件,发现这个c文件里面没有 main()函数,所以无法编译,请问你知道是怎么编译的吗
zhaojianmi1 2011-09-29
  • 打赏
  • 举报
回复
已对可以采用的解决方案进行排序,以便与消息
说明中提供的原因相匹配:

1. 可能会涉及多个间接级别,最终导致此原因码
。例如,可以找到例程实体 X,它需要共享库
Y(也可以找到),而共享库 Y
需要另一个共享库 Z,但是无法找到共享库
Z。应重新链接例程库,或者用户应验证
LIBPATH(Unix)或
PATH(INTEL)中是否提供了所有相关库。使用
db2set 命令来将 LIBPATH
更新为包括库所在的路径。例如,db2set
db2libpath=/db2test/db2inst1/sqll

2. 使用受支持的库。

3. 如果确定内存不足,则可能需要更改系统配置
,为 DB2 腾出更多的可用内存。
zhaojianmi1 2011-09-29
  • 打赏
  • 举报
回复
5

没有足够的内存来装入包含该函数的库,或不能
解析一个或多个符号。此原因码指示下列情况之一


1. 可能尚未解析一个或多个符号。例程库可能依
赖于这样一个共享库:使用在 LIBPATH
环境变量(对于基于 UNIX 的系统)和 PATH
环境变量(对于 INTEL
系统)中指定的目录的并置无法找到该共享库


2. 例程有一个 64 位库,而 64 位库在 32 位 DB2
实例中是不受支持的;或者,例程具有一个 64
位 DB2 实例中的 32 位库或 DLL,而该 32 位库或
DLL 与例程定义不兼容。

3. 没有足够的内存来装入包含该函数的库。
zhaojianmi1 2011-09-29
  • 打赏
  • 举报
回复
function "put_line" 这个写对了吗
lxs_huntingjob 2011-09-29
  • 打赏
  • 举报
回复
还有我已经把 put_line 这个dll 放到了 $home/db2inst2/sqllib/function/ 下面
lxs_huntingjob 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhaojianmi1 的回复:]
db2 "call testcase()"
[/Quote]
正解啊,看来是字符的问题!
后来我到 db2inst2 下执行 db2 call testcase() 提示如下,不知道是不是堆设置的问题
$ db2 "call testcase()"
SQL0444N Routine "PUT_LINE" (specific name "SQL110928225919900") is
implemented with code in library or path ".../sqllib/function/put_line",
function "put_line" which cannot be accessed. Reason code: "5".
SQLSTATE=42724
zhaojianmi1 2011-09-29
  • 打赏
  • 举报
回复
db2 "call testcase()"
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文系统介绍了基于最小势能原理(即能量法)的物理信息神经网络(PINNs)在求解固体力学二维问题中的理论框架与应用实践,并提供了完整的PyTorch代码实现案例。该方法通过将物理系统的总势能泛函嵌入神经网络的损失函数中,利用深度学习框架直接求解满足控制方程和边界条件的位移场近似解,避免了传统数值方法对网格划分的依赖。文章重点剖析了基于变分原理的能量形式如何替代强形式偏微分方程构建损失项,提升了求解的稳定性与泛化能力。同时,研究对比了不同PINNs架构与训练策略在处理复杂几何形状、非均匀材料属性及非线性力学行为时的精度、收敛性与计算效率,验证了其在处理经典弹性力学问题(如平面应力/应变问题)中的有效性与潜力。配套代码便于读者复现结果并拓展至更广泛的工程应用场景。; 适合人群:具备一定深度学习基础和固体力学知识的研究生、科研人员及工程技术从业者,特别适用于从事计算力学、智能仿真、物理驱动建模、结构分析等方向的研究者。; 使用场景及目标:①掌握基于能量法的PINNs建模范式,理解其相较于传统有限元法的优势与局限;②研究物理信息神经网络在无网格求解复杂边界与非线性问题中的能力;③对比不同神经网络结构对求解精度与收敛速度的影响,推动PINNs在工程实际中的落地应用。; 阅读建议:建议读者结合所提供的PyTorch代码逐模块分析网络构建、能量泛函定义、边界条件施加及训练流程设计,深入理解物理约束与机器学习模型的融合机制,并鼓励在自定义问题中调整网络参数、采样策略与损失权重以优化性能。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

5,888

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧