将存储过程从SQL Server传递到ORACLE链接服务器 [英] Passing Stored Procedure from SQL Server to ORACLE linked server
本文介绍了将存储过程从SQL Server传递到ORACLE链接服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将以下SQL查询作为链接服务器存储过程传递,但出现错误,请告知,谢谢!
I'm trying to pass the following SQL query as a linked server stored procedure, but I get an error, please advise, thanks in advance!
消息7215,第17级,状态1,第17行
无法在远程服务器"CAFUAT"上执行语句.
Msg 7215, Level 17, State 1, Line 17
Could not execute statement on remote server 'CAFUAT'.
说明:
- CAFUAT = Oracle链接服务器
- CDBWEB =用户
- 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驱动程序进行了树脂加密;
just to update, below is the working query, plus i resintalled the 32-bit Oracle driver;
EXECUTE('Call STP_CAF_PERSON(?,?,?)', @AVEMAIL OUTPUT, @ANCDPXID OUTPUT, @AVCDPURN OUTPUT) AT [CAFUAT]
这篇关于将存储过程从SQL Server传递到ORACLE链接服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文