我有甲骨文函數聲明爲來自VB6的Oracle函數調用。功能不是一個程序錯誤
create or replace FUNCTION CheckScan(
pMode IN number,
pAgrISN in number,
pAgrId in varchar2,
pDocISN in number,
pRefundId in varchar2) RETURN NUMBER IS ...
和連接到Oracle管理員像客戶端的Visual Basic 6代碼:
...
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
什麼是錯的這裏?功能已成功編譯。
預先感謝您!
是否被連接到Oracle數據庫用戶擁有執行的功能權限?此外,該功能正在返回一個值,你捕獲它嗎? – Ollie 2011-12-22 15:53:37
是的,這是一個管理員帳戶 – 2011-12-22 16:03:38