gpt4 book ai didi

sql-server - 从 Sql Server 2008 执行 Oracle 存储过程

转载 作者:行者123 更新时间:2023-12-02 22:56:24 26 4
gpt4 key购买 nike

我正在尝试通过 DB LINK 从 SQL Server 2008 R8 执行 Oracle 存储过程,存储过程的 header 如下所示:

PROCEDURE TEST(X OUT NOCOPY VARCHAR2,Y OUT NOCOPY NUMBER,Z IN NUMBER )

此过程将更新表“MYTABLE”并返回结果

我的 T-SQL 是:

           DECLARE @X nvarchar(255)              
DECLARE @Y INTEGER
DECLARE @Z INTEGER


SET @X= ''
SET @Y = 0
SET @Z = 2

EXEC('begin USER.PKG.TEST(?,?,?); end;',@X OUTPUT, @Y OUTPUT,@Z ) AT DB_ORACLE;

执行存储过程是因为我可以看到表“MYTABLE”已更新,但问题是我收到错误:

Msg 7215, Niveau 17, État 1, Ligne 10
Impossible d'exécuter l'instruction sur le serveur distant 'DB_ORACLE'.

翻译过来

Cannot execute the instruction at the distant server 'DB_ORACLE'

注意:Rpc、Rpc Out 和 Use Remote Collat​​ion 的参数已启用

感谢您的帮助

最佳答案

从 SQL Server 进行简单的 Oracle 过程调用

exec ('开始 sproc_name; end;') 在 linked_server_name

使用变量调用过程

<B>declare @z int<B>
<B>set @z = 10 <B>
exec ('begin sproc_name(''' + @z + '''); end;') at
linked_server_name;

这对我来说效果很好使用

关于sql-server - 从 Sql Server 2008 执行 Oracle 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30798532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com