Я пытаюсь запустить процедуру из Excel VBA, но она не может быть запущена.
Dim con As New ADODB.Connection
Dim cmd As New ADODB.Command
con.Provider = "OraOLEDB.Oracle"
con.CursorLocation = adUseClient
con.Open "Data Source=*SERVER*;User ID=*USER*;Password=*PASSWORD*;"
Set cmd.ActiveConnection = con
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "TEST_PROCEDURE('Tdb','USERID','18-Feb-2020','19-Feb-2020','N','19-May-2020','N',0,0,0,0,0,0);"
cmd.Execute
con.Close
Где test_procedure содержит
EXECUTE IMMEDIATE 'INSERT /*+ APPEND */ INTO TABLE
Кажется, это залипание точка, потому что он никогда не вставляет никаких данных. Я не могу поделиться всей вставкой. Что-нибудь особенное, что мне нужно сделать для INSERT? Я могу запускать другие процедуры, такие как DELETE FROM TABLE.
Странно, но INSERT работает в 32-битном Excel, но не в 64-битном, который мы сейчас вынуждены обновить. Подключение к таблицам базы данных в порядке, так как я могу запрашивать другие данные. Все коды работают в Oracle SQL Разработчик, он просто не работает в Excel.
Я ссылался на библиотеку объектов данных ActiveX 6.1, я пробовал 2.8 и ничего не изменилось.