Microsoft KB Archive/192778

= BUG: Package Call Fails if Parameters Are Not Present =

Article ID: 192778

Article Last Modified on 10/15/2003

-

APPLIES TO


 * Microsoft Open Database Connectivity 2.5
 * Microsoft Data Access Components 2.5

-



This article was previously published under Q192778



SYMPTOMS
When you call an Oracle package.procedure that does not take any parameters the Microsoft Oracle ODBC driver returns the following error message:

SYNTAX ERROR OR ACCESS VIOLATION



RESOLUTION
To workaround this behavior, create a package.procedure that takes a parameter, but does nothing with the parameter.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.



Steps to Reproduce Behavior
In SQL*PLUS run the following Oracle PL/SQL code:

create or replace package pack1 is procedure proc1; end pack1; /

create or replace package body pack1 is procedure proc1 is begin insert into department values (50,'RESEARCH', 124); end proc1; end pack1; / To reproduce the error use the following Visual Basic code in a push button Click event. Make sure that the Visual Basic project has the Microsoft ActiveX Data Objects Library selected in the REFERENCES Private Sub Command2_Click Dim cmd As ADODB.Command Dim rst As ADODB.Recordset Dim m_session As ADODB.Connection Set m_session = New ADODB.Connection m_session.CursorLocation = adUseClient ' Replace "***" with your own Oracle DSN m_session.Open "DSN=***", "demo", "demo" Set cmd = New ADODB.Command cmd.ActiveConnection = m_session cmd.CommandText = "pack1.proc1" cmd.CommandType = adCmdStoredProc cmd.Execute End Sub

Additional query words: kbDatabase kbDriver kbODBC kbOracle

Keywords: kbbug kboracle kbpending kbcode KB192778

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.