您好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)'),与我所做的更改无关。你能帮我提一些技巧或例子吗?非常感谢你。