从Excel VBA调用ORACLE存储过程,包括字符串和数字参数

时间:2016-11-21 10:32:58

标签: excel oracle vba excel-vba stored-procedures

您好StackOverflow朋友,

我想问你如何从Excel VBA调用ORACLE存储过程,包括两种不同的参数类型(字符串和数字)。我一直在寻找StackOverflow和Google如何做到这一点,但我找不到一个好的答案。所以,我决定在这里询问这个具体问题。

我有 ORACLE存储过程

CREATE OR REPLACE PROCEDURE InsertDayTable (
    PNTable    in VARCHAR2,
    PMonth     in VARCHAR2,
    PDay       in VARCHAR2,
    PProvince  in VARCHAR2,
    PBusiness  in VARCHAR2,
    PCode      in NUMBER,
    PValue     in NUMBER,
    PAccum     in NUMBER
) AS
    v_sql         VARCHAR2(1000);
BEGIN
    /*
     *  Development of the procedure...
     */
END;

我有一个 Excel文件像程序一样用于计算要插入ORACLE的数据。计算完这些数据后,我将其发送给Excel程序。此 Excel程序负责调用ORACLE存储过程。但是,我不知道如何使用VARCHAR2和NUMBER参数调用。

对于VARCHAR2参数,我正在使用:

Set oParam1 = oCmd.CreateParameter("PNTable", adVarChar, adParamInput, 10, "MyTable")
oCmd.Parameters.Append oParam1

对于NUMBER个参数,我正在使用:

Set oParam7 = oCmd.CreateParameter("PValue", adNumeric, adParamInput, 5, iValue)

但是,我总是有错误(错误'-2147217887(80040e21)'),与我所做的更改无关。你能帮我提一些技巧或例子吗?非常感谢你。

0 个答案:

没有答案