Попытка выполнить хранимую процедуру Oracle с использованием ADODB.Не было проблем, пока логическое значение не было добавлено в процедуру.Я думаю, что проблема с CreateParameter adBoolean DataTypeEnum.
Ошибка: неверное число или типы аргументов в вызове WEIGH_PACKAGE_PR
Oracle
PROCEDURE WEIGH_PACKAGE_PR
(in_action_code IN NUMBER,
in_pass_num IN NUMBER,
in_cont_no IN VARCHAR2,
in_scale_id IN VARCHAR2,
in_current_user IN NUMBER,
in_bypassnumber IN NUMBER,
in_override_tarewt IN BOOLEAN)
VBA
With db
If .state = adStateClosed Then
.ConnectionString = conStr
.CursorLocation = adUseClient
.Open
End If
End With
With cmd
.ActiveConnection = db
.NamedParameters = True
.CommandType = adCmdStoredProc
.CommandText = "COMMON_SCALES_PK.WEIGH_PACKAGE_PR"
.Parameters.Append .CreateParameter("in_action_code", adBigInt, adParamInput, , 1)
.Parameters.Append .CreateParameter("in_pass_num", adBigInt, adParamInput, , 1)
.Parameters.Append .CreateParameter("in_cont_no", adVarChar, adParamInput, 10, "I658638002")
.Parameters.Append .CreateParameter("in_scale_id", adVarChar, adParamInput, 6, "T05R02")
.Parameters.Append .CreateParameter("in_current_user", adBigInt, adParamInput, , 3737)
.Parameters.Append .CreateParameter("in_bypassnumber", adBigInt, adParamInput, , Null)
.Parameters.Append .CreateParameter("in_override_tarewt", adBoolean, adParamInput, 1, False)
Set rst = .Execute()
End With