[請結束此問題]用MS SQL Server的存储过程调用Com+ 组件,请熟悉这方面的近来看看。 (300分)

  • 主题发起人 henry0612
  • 开始时间
H

henry0612

Unregistered / Unconfirmed
GUEST, unregistred user!
做了个发送信息的Com+ 组件, 其中的一个方法的原型定义如下:
procedure SendInfo(const FileName: WideString; const SMSInfo: WideString;
SubClass:Integer;var SuccessFlag: Integer;var ErrorMsg: WideString);safecall;
采用MS SQL Server调用的形式如下:
Declare @Object int
Declare @FileName VarChar(100) --param0
Declare @SMSInfo VarChar(120) --param1
Declare @SubClass int --param2
Declare @SuccessFlag int --param3
Declare @ErrorMsg VarChar(100) --param4
Exec @RetVal=sp_OACreate 'SendInfo.SendGWInfo', @Object OUTPUT
Set @FileName = ''
Set @SMSInfo = 'hell'
Set @SubClass = 19
Exec sp_OAMethod @Object, 'SendInfo', null, @FileName, @SMSInfo, @SubClass, @SuccessFlag OUTPUT, @ErrorMsg OUTPUT
Declare @Source varchar(100), @Description varchar(255), @HelpFile varchar(260),@HelpID int
Exec sp_OAGetErrorInfo @Object, @Source OUTPUT, @Description OUTPUT, @HelpFile OUTPUT, @HelpID OUTPUT
select @Description
Select @SuccessFlag, @ErrorMsg
Exec sp_OADestroy @Object
这段SQL语句创立这个Com+对象,并且调用SendInfo这个方法, SuccessFlag和ErrorMsg
用来记录SendInfo执行过程中发生的错误和描述, 而sp_OAGetErrorInfo则用来返回
SendInfo是否正确调用。@Descriptiond的执行结果为 ‘srv_paraminfo 出O’并没有
成功的调用SendInfo方法(该Com+组件,已调试通过,其他程序调用并无异常),
请熟悉这方面的富翁们给个指点。
 
为了大家看得见,我得顶顶
 
沒人知道嗎?
 
現在問題就集中在@SuccessFlag和@ErrorMsg的類型上
 
顶部