当前位置: 代码迷 >> PB >> 向存储过程传送常量时不能使用 output 选项
  详细解决方案

向存储过程传送常量时不能使用 output 选项

热度:626   发布时间:2016-04-29 05:47:18.0
向存储过程传递常量时不能使用 output 选项
sql 2008 中存储过程代码:
CREATE PROCEDURE [dbo].[qmdlrb]
-- Add the parameters for the stored procedure here
@USERNAME VARCHAR(30), --用户名
@YEAR CHAR(4), --年度
@BZ CHAR(10), --显示币种
@ERR_MSG VARCHAR(500) OUTPUT --返回错误信息
as
begin
……
end


pb 12.5.2 中的调用
sqlca.autocommit = True
DECLARE yhf_sp PROCEDURE FOR yhf_取门店利润报表
@USERNAME = :login_id ,
@YEAR = :as_year,
@BZ = :as_bz ,
@ERR_MSG = :err_msg OUTPUT using sqlca;
EXECUTE yhf_sp ;
sqlca.autocommit = False 


然后就出来那么个错误,

最最郁闷的是,这个程序,半个月前开始写的,一直还没结束,今天新增了个报表,然后,感觉直接dw retrieve不到,就弄了个存储过程来处理,把结果放到一个表,然后再dw,retrieve这个表,今天突然提示我,出错了,然后再回过头去,看之前的单据录入的审核功能,我的单据审核,每个存储过程,最后一个参数都是:@ERR_MSG OUTPUT类型的,而且,以前,我做好了单据,都会录几笔试下,保存,审核,都是可以的,今天这个报表,提示错误后,我再去测试那些单据,结果审核的时候,全部都提示:output不能用了,
什么神原因啊,SQL没更新过,pb没更新过,就因为我写了点新的pb界面,写个报表,就挂了???
求助,求助.........
------解决方案--------------------
引用:
想来想去,终于想到我做的变化了,在登录时,我不是用数据库自带的sa帐号连接的,换回sa帐号连接,一切,都回复正常了,看来是我的登录名权限问题。
准备结贴了,

  相关解决方案