如何在pb脚本里面成功生成oracle存储过程?

yaiger 2005-10-29 04:31:42
我用execute immediate, 总是提示编译错误,到服务器段重新编译又没有问题

如何解决? 存储过程的脚本没有问题的
...全文
299 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jetleee 2005-11-03
  • 打赏
  • 举报
回复
有一点供参考:在拼创建存储过程的语句时,不要加“~r~n”,只用‘~n’,试一下
yaiger 2005-11-02
  • 打赏
  • 举报
回复
难道没有人碰到过这种问题?
yaiger 2005-10-31
  • 打赏
  • 举报
回复
顶一下
yaiger 2005-10-29
  • 打赏
  • 举报
回复
debug跟踪过的,取出来的直接运行没有问题
SP已经建立,不过是有问号的,但是在server端对建立的SP重新编译一次就没有问题

困惑阿
lzheng2001 2005-10-29
  • 打赏
  • 举报
回复
1.messagebox("test",ls_sql)查看一下SQL的语句是否正常
2.到oracle中看看SP是否已经建立了
yaiger 2005-10-29
  • 打赏
  • 举报
回复
你可以试试看,把我前面写的那个简单的sp放到变量里面去执行,应该也一样出错的
yaiger 2005-10-29
  • 打赏
  • 举报
回复
ORA-24344: 成功,但出现编译错误
lzheng2001 2005-10-29
  • 打赏
  • 举报
回复
还要注意当前用户是否有权限创建SP
lzheng2001 2005-10-29
  • 打赏
  • 举报
回复
把具体信息贴出来!
还有你是否有用 messagebox("error",sqlca.sqlerrtext)
来查看错误信息?
yaiger 2005-10-29
  • 打赏
  • 举报
回复
你没有弄懂我的意思,我是说把上面存储过程的内容放到一个变量里面去执行execute immediate,数据库会返回一个过程已建立,但是有编译错误的信息。
lzheng2001 2005-10-29
  • 打赏
  • 举报
回复
你贴的根本不是PB的代码,当然不能编译通过了.

例子:
string ls_sql
ls_sql = 'sql 语句 比如你的创建SP的语句都放到一个变量中'
execute immediate :ls_sql;
if sqlca.sqlcode <> 0 then messagebox("error",sqlca.sqlerrtext)
yaiger 2005-10-29
  • 打赏
  • 举报
回复
?有人试出来没有啊?
yaiger 2005-10-29
  • 打赏
  • 举报
回复
create or replace procedure test_prc is
begin
commit;

end test;

就这么简单好了,pb里面也是编译错误
lzheng2001 2005-10-29
  • 打赏
  • 举报
回复
把你的代码贴出来

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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