我正在使用如下的PL / SQL程序:
create or replace procedure forecast_real_dates_procedure
IS
BEGIN
DELETE FROM FORECAST_REAL_DATES_TABLE;
insert into FORECAST_REAL_DATES_TABLE select * from FORECAST_REAL_DATES_VIEW;
END;
/
我想在excel vba(即)中执行此过程,在vba中运行语句execute forecast_real_dates_procedure。我已经完成了从vba和所有这些东西连接到oracle。但是,只是与执行此操作的命令混淆。任何人都可以帮助我。
感谢
答案 0 :(得分:0)
试试这个(未经测试):
Dim con As New ADODB.Connection
Dim cmd As New ADODB.Command
con.provider = "OraOLEDB.Oracle"
con.CursorLocation = adUseClient
con.Open "PLSQLRSet=0;Data Source=<YOUR_DATABASE>" , "<USER>", "<Password>"
Set cmd.ActiveConnection = con
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "forecast_real_dates_procedure"
cmd.Execute
con.Close
您必须在以下位置添加对VBA宏的引用:工具 - &gt;参考文献 - &gt;启用“Microsoft ActiveX数据对象2.?库”
答案 1 :(得分:0)
我找到了解决方案。
只需执行以下代码
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "forecast_real_dates_procedure"
.Execute , , adExecuteNoRecords
End With