将存储过程从SQL Server传递到ORACLE链接服务器



我试图通过以下SQL查询作为链接服务器存储过程,但我得到一个错误,请建议,提前感谢!

留言7215,第17层,第1州,第17行
无法在远程服务器'CAFUAT'上执行语句。

解释:

  • CAFUAT = Oracle链接服务器
  • CDBWEB = User
  • STP_CAF_PERSON =存储过程
代码:

DECLARE @AVEMAIL VARCHAR(255) 
DECLARE @ANCDPXID NUMERIC
DECLARE @AVCDPURN VARCHAR(12) 
SELECT @AVEMAIL  = 'a@b.com' 
SELECT @ANCDPXID  = null 
SELECT @AVCDPURN  = null 
EXECUTE ('BEGIN CAFUAT.CDBWEB.STP_CAF_PERSON(?,?,?,?); END;', @AVEMAIL,@ANCDPXID,@AVCDPURN) AT CAFUAT
DECLARE @PrintVariable VARCHAR (4000)
SELECT @PrintVariable =  'ANCDPXID ='  +  CONVERT(VARCHAR(23), @ANCDPXID) 
PRINT @PrintVariable
SELECT @PrintVariable =  'AVCDPURN ='  +  ISNULL(CAST(@AVCDPURN AS VARCHAR(8000)), '' ) 
PRINT @PrintVariable

只是为了更新,下面是工作查询,加上我重新安装了32位Oracle驱动程序;

EXECUTE('Call STP_CAF_PERSON(?,?,?)', @AVEMAIL OUTPUT, @ANCDPXID OUTPUT, @AVCDPURN OUTPUT) AT [CAFUAT]

最新更新