我在过去几天努力解决调用存储过程sp_oamethod
的问题。
以下代码工作正常
declare @return int;
exec @return = sp_oamethod @object,'open(hhtp://xyz.com/uid=abc&pwd=***)';
但是如果我想将用户ID作为变量传递,我不能:
declare @return int;
declare @uid varchar(10);set @uid='abc'
exec @return = sp_oamethod @object, 'open(hhtp://xyz.com/uid='+@uid+'&pwd=***)';
答案 0 :(得分:0)
尝试在变量上使用CONVERT。
'open(hhtp://xyz.com/uid='+CONVERT(varchar(10),@uid)+'&pwd=***)'
答案 1 :(得分:0)
定义另一个变量,在sp调用之前设置它。然后将其用作sp参数。像那样:
declare @return int;
declare @uid varchar(10);set @uid='abc'
declare @url varchar(100);
set @url = 'open(hhtp://xyz.com/uid='+@uid+'&pwd=***)'
exec @return = sp_oamethod @object,@url;
答案 2 :(得分:0)
declare @nvarurl nvarchar(max);
set @nvarurl ='http://example.com?uid='+@uid+'pwd='+pwd+'
exec @return = sp_OAMethod @Object, 'open',NULL, 'get',@nvarurl,'false'
完成解决我的约束由mysel使用上面的snippset。 谢谢那些回复的人.. :)