ACC2: No Results When Calling ORACLE 7.0 Stored Procedure

Last reviewed: May 28, 1997
Article ID: Q120491
The information in this article applies to:
  • Microsoft Access version 2.0
  • Microsoft Visual Basic version 3.0

SYMPTOMS

Advanced: Requires expert coding, interoperability, and multiuser skills.

Although your Microsoft Access SQL pass-through query calls a valid ORACLE version 7.0 stored procedure, no results are returned.

CAUSE

This behavior occurs because the current ORACLE ODBC driver uses ODBC specification 1.0, and not 2.0. ODBC specification 2.0 is required to support IN-OUT parameters and the ability to return values in an interoperable fashion.

RESOLUTION

If the stored procedure that you are calling requires only IN parameters, you should be able to get results back, since the ODBC 1.0 specification supports this functionality. Stored procedures requiring OUT or IN-OUT parameters cannot be called from Microsoft Access or Microsoft Visual Basic.

MORE INFORMATION

ORACLE version 7.0 stored procedures are PL/SQL blocks (that is, they are not queries). PL/SQL procedures are similar to PASCAL procedures. They, like SQL Server procedures, can accept IN, OUT, or IN-OUT parameters, and can contain functions that return values.

The only procedures that you can call in ORACLE version 7.0 from Microsoft Access are those that require IN parameters. To do this, construct the statement as

   {call StoredProcXX(Arg1, ...)}

by concatenating the name of the procedure and its arguments.

There is no concept of a stored function in the ORACLE ODBC specification; therefore, you cannot call stored functions. The same is true for ORACLE packages which are ADA-like constructs (data and methods wrapped in a package). To invoke a procedure in a package in ORACLE version 7.0, preface the procedure or function with the package name. For example:

   PackageAA.ProcedureXX(Arg1, Arg2,...)

This is not possible with the current ORACLE ODBC driver.

REFERENCES

For more information about Microsoft Access and ORACLE, search on "Oracle," and then "Network Configurations and ODBC Drivers" or "ODBC Drivers and Built-In Drivers" using the Microsoft Access Help menu.

ORACLE is manufactured by Oracle Corporation, a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.


Keywords : kb3rdparty OdbcOracl
Version : 2.0
Platform : WINDOWS
Hardware : X86
Issue type : kbprb
Resolution Type : Info_Provided


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.