来自MSSQL的链接服务器存储过程调用> ORACLE

时间:2015-08-18 11:24:22

标签: sql-server oracle stored-procedures linked-server

我正在尝试从MSSQL到ORACLE进行SP调用,它们都是在链接服务器环境中成功设置的,我唯一的问题是创建对Oracle的SQL SP调用;

以下是我尝试在SQL中作为SP调用重现的过程;

replaceAll("(.)\\1+","$1"))

我曾多次尝试过以下示例,但都没有工作;

SET TIMING ON
SET SERVEROUTPUT ON
DECLARE 
  AVEMAIL VARCHAR2(255);
  ANCDPXID NUMBER;
  AVCDPURN VARCHAR2(12);

BEGIN 
  AVEMAIL := 'a@b.com';
  ANCDPXID := NULL;
  AVCDPURN := NULL;

  STP_FAC_PERSON ( AVEMAIL, ANCDPXID, AVCDPURN );

  DBMS_OUTPUT.Put_Line('ANCDPXID = ' || TO_CHAR(ANCDPXID));
  DBMS_OUTPUT.Put_Line('AVCDPURN = ' || AVCDPURN);

END;

请指教 非常感谢提前!

2 个答案:

答案 0 :(得分:2)

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

Hashtable<String,String>

答案 1 :(得分:0)

如果我没错,OPENQUERY在用于调用Oracle商店程序时不会工作。  请尝试 -

DECLARE @param_in_1 VARCHAR(255);
DECLARE @param_out_1 INT;
DECLARE @param_out_2 VARCHAR(12);
SET @param_in_1 = 'test@test.com';
EXECUTE ('BEGIN TACOMCDB.STP_FAC_PERSON(?,?,?); END;', @param_in_1,@param_out_1 OUTPUT, @param_out_2 OUTPUT) AT FACUAT;
SELECT @param_out_1,@param_out_2;