Я пытаюсь использовать параметризованные запросы для вставки значений из Excel в мои oracle дБ, используя vba, как в этом учебнике . Это уже работает, если я делаю это без параметризованных запросов. Мой код выглядит так:
Dim tmp As String
Dim t As ListObject
Dim cm As New ADODB.Command
Set t = Worksheets("Sheet").ListObjects("Table")
tmp = "insert into db_table1(name, color) values (@name, @color);"
With cm
.ActiveConnection = <working connection saved in a global variable>
.CommandText = tmp
.CommandType = adCmdText
Set P1 = .CreateParameter("name", adVarChar, adParamInput, Len(t.DataBodyRange(1, 1)) + 1, t.DataBodyRange(1, 1))
.Parameters.Append P1
Set P2 = .CreateParameter("color", adVarChar, adParamInput, Len(t.DataBodyRange(1, 2)) + 1, t.DataBodyRange(1, 2))
.Parameters.Append P2
cm.Execute
End With
Я получаю код ошибки
Ora-00936: отсутствует выражение
Видимо, что-то не так с запросом, который производит приведенный выше код, я просто не могу понять, что именно. Есть ли способ получить более подробное сообщение об ошибке или просмотреть запрос, который он пытается выполнить?