BUG: Oracle OLEDB Provider Returns Err: "ORA06502: PL/SQL..."ID: Q229757
|
When using the Microsoft Oracle OLEDB provider it is possible that you may receive the following error message:
This error message can occur when you are attempting to return a character string of more than 2001 characters from a call to an Oracle stored procedure.-2147467259 (80004005) "ORA06502: PL/SQL: numeric or value error"
There are currently two workarounds to this problem as follows:
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
Private Sub Command1_Click()
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
With cn
.ConnectionString = "Provider=MSDAORA.1;User ID=Demo;Data Source=<your oracle server alias>;Persist Security Info=False;password=demo"
'Uncomment the following line to make this work.
'.ConnectionString = "Provider=MSDASQL;User ID=Demo;Data Source=<your datasource name>;Persist Security Info=False;password=demo"
.ConnectionTimeout = 10
.CursorLocation = adUseClient
.Open
End With
'Create the stored procedure for testing.
Set cmd.ActiveConnection = cn
With cmd
.CommandType = adCmdText
.CommandText = "Create or Replace Procedure TEST " & _
" (inParam in varchar2," & _
" outParam out varchar2)" & _
" is " & _
" begin " & _
" outParam:= inParam;" & _
" end ;"
End With
cmd.Execute
Debug.Print "Stored Proc Created"
Set cmd = Nothing
Set cmd = New ADODB.Command
With cmd
Set .ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "TEST"
.Parameters.Append .CreateParameter("inParam", adLongVarChar, adParamInput, 4000, String(2002, "c")) '<<2001 works , 2002 fails
.Parameters.Append .CreateParameter("outParam", adLongVarChar, adParamOutput, 4000, "")
.Execute '<<fails here with the Oracle OLEDB provider
End With
Debug.Print i & " Output Parameter: " & Len(cmd(1).Value)
End Sub
Additional query words: oracle procedure
Keywords : kbMDAC kbOracle kbProvider kbVS kbGrpVBDB kbGrpMDAC
Version : WINDOWS:2.1
Platform : WINDOWS
Issue type : kbbug
Last Reviewed: May 18, 1999