如何通过数据库链接执行 Oracle 存储过程

Posted

技术标签:

【中文标题】如何通过数据库链接执行 Oracle 存储过程【英文标题】:How to execute an Oracle stored procedure via a database link 【发布时间】:2010-09-19 10:33:47 【问题描述】:

我可以通过数据库链接调用 Oracle 中的存储过程吗?

数据库链接是正常的,因此语法如...

SELECT * FROM myTable@myRemoteDB

正在运行。但是有没有...的语法

EXECUTE mySchema.myPackage.myProcedure('someParameter')@myRemoteDB

【问题讨论】:

【参考方案1】:

语法是

EXEC mySchema.myPackage.myProcedure@myRemoteDB( 'someParameter' );

【讨论】:

@xtsoler - 这适用于存储函数,而不是存储过程。 你知道如何调用带参数的存储过程吗? @Afaria - 我发布的示例是传递一个参数(字符串'someParameter')。【参考方案2】:

检查http://www.tech-archive.net/Archive/VB/microsoft.public.vb.database.ado/2005-08/msg00056.html

一个人需要使用类似的东西

cmd.CommandText = "BEGIN foo@v; END;" 

在 vb.net、c# 中为我工作

【讨论】:

【参考方案3】:

对我来说,这很有效

exec utl_mail.send@myotherdb(
  sender => 'myfromemail@giggle.com',recipients => 'mytoemail@giggle.com, 
  cc => null, subject => 'my subject', message => 'my message'
); 

【讨论】:

以上是关于如何通过数据库链接执行 Oracle 存储过程的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库调用存储过程

您如何从通过数据库链接执行的存储过程中进行假脱机?

通过oracle dblink,怎么执行远程数据库的存储过程。或者说可以执行吗?怎么弄?

如何执行存储过程

oracle 存储过程 执行、调用不成功 求高手指导?

SQL Server 如何执行 带参数的 存储过程