У меня есть функция Oracle, объявленная как
create or replace FUNCTION CheckScan(
pMode IN number,
pAgrISN in number,
pAgrId in varchar2,
pDocISN in number,
pRefundId in varchar2) RETURN NUMBER IS ...
И клиентский код Visual Basic 6, который подключается к Oracle в качестве администратора, например:
...
cmd.ActiveConnection = conn
cmd.CommandText = "CheckScan"
cmd.CommandType = 4 'adCmdStoredProc
Dim pMode As Integer
Dim pAgrISN As Integer
Dim pAgrId As String
Dim pDocISN As Integer
Dim pRefundId As String
pMode = 2
pAgrISN = 12345
pAgrId = "Some-Id"
pDocISN = 12345
pRefundId = "Some-id"
cmd.Parameters.Append cmd.CreateParameter("pMode", 131, 1, 10, pMode)
cmd.Parameters.Append cmd.CreateParameter("pAgrISN", 131, 1, 10, pAgrISN)
cmd.Parameters.Append cmd.CreateParameter("pAgrId", 200, 1, 255, pAgrId)
cmd.Parameters.Append cmd.CreateParameter("pDocISN", 131, 1, 255, pDocISN)
cmd.Parameters.Append cmd.CreateParameter("pRefundId", 200, 1, 255, pRefundId)
cmd.Execute
Этот код заканчивается на:
PLS-00221: "CHECKSCAN" is not a procedure or is undefined
Что здесь не так? Функция была успешно скомпилирована.
Заранее спасибо!