注册

Linux下用shell调用达梦的存储过程语法错误

安于清梦 2025/08/25 174 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:Linux
【CPU】:
【问题描述】*:
#!/bin/sh
result=disql -S ods/ods@192.168.1.96:5236 <<! set heading off; set feedback off; var ret varchar2(500); exec FDM_BASE.daily_dis('20250825',:ret); select :ret from dual; exit; !

检查返回值合法性

if [[ "$result" =~ [1]+$ ]]; then
exit "$result"
else
echo "DISQL执行失败,返回非数值结果:$result" >&2
exit 1
fi
【报错描述】:
DISQL执行失败,返回非数值结果:exec FDM_BASE.daily_dis('20250825',:ret);

exec FDM_BASE.daily_dis('20250825',:ret);
*
第 1 行, 第 40 列[,]附近出现错误[-2007]:语法分析出错.
已用时间: 0.399(毫秒). 执行号:0.

1 NULL
已用时间: 0.283(毫秒). 执行号:6356401.

有没有可以用的 我想调用存储过程

问题关闭:已经解决了。
解决方法:exec FDM_BASE.daily_dis('20250825',:ret);
把exec删除就可以了


  1. 0-9 ↩︎

回答 0
暂无回答
扫一扫
联系客服