
Unable to get Output data using VB, Ado 2.1 and Oracle Stored procedure
Hi,
I am getting error message when I try to run stored procedure in Oracle
through Visual Basic (6.0) using Ado 2.1. Can any body kindly give me a clue
how to get data back. I have run this stored procedure in oracle environment
using PL/SQL. Over there it is working fine. But I couldn't make it work in
VB.
Error Message is:
Ora-06502: PL/SQL: Numeric or Value error
Ora-06512 at "DMVPROC.PG_Veh101", line 1578
Ora-06512: at line 1
Ora-06502: PL/SQL: numeric or value error.
It crashes on oCmd1.Execute line.
The format for Stored Procedure is...
Package Name: PG_VEH101
Procedure Name: P_VEH101A
PROCEDURE p_veh101a
(g_inq_type IN VARCHAR2,
g_oracle_key IN VARCHAR2,
g_confidential IN VARCHAR2,
g_end_status OUT CHAR, 'length 255
g_oracle_data OUT VARCHAR2); 'length 3000, The data returned is
an unlabeled, fixed-length stream of data.
Codes are....
Dim oCmd1 As ADODB.Command
Set oCmd1 = New ADODB.Command
Set oCmd1.ActiveConnection = objConn
On Error GoTo error_handler
With oCmd1
.CommandText = "pg_veh101.p_veh101a"
.CommandType = adCmdStoredProc
'.ActiveConnection = objConn
.Parameters.Append .CreateParameter("g_end_status", adChar, adParamOutput,
255)
.Parameters.Append .CreateParameter("g_oracle_data", adVarChar,
adParamOutput, 3000)
.Parameters.Append .CreateParameter("g_inq_type", adVarChar, adParamInput,
3, "VIN")
.Parameters.Append .CreateParameter("g_oracle_key", adVarChar,
adParamInput, 23, "1B4FK5435KX685867")
.Parameters.Append .CreateParameter("g_confidential", adVarChar,
adParamInput, 30, "TAGT9283928392")
oCmd1.Execute '**I get error here
MsgBox "Inquiry status is: " & oCmd1(0) & vbCrLf & _
"Data is: " & oCmd1(1)
Set oCmd1 = Nothing
Exit Sub
error_handler:
MsgBox "Error number is: " & Err.Number & ": " & vbCrLf & _
"Error Description is : " & Err.Description & ".", vbOKOnly + vbCritical,
"Error"
Set oCmd1 = Nothing
End Sub