Loading Params for some Stored Procs in Oracle Packages causes AV

By: Quinn Wildman

Abstract: Workaround is to not use a package for the Stored Proc.

As of BDE 5.1.0, Developer Support has seen a number of conditions where a Stored Proc is created correctly inside of a package, yet it will not operate correctly. This problem was introduced in version 5.1.0 as a result of fixing a bug where you crashed loading params for a stored proc with greater than 10 parameters. The conditions where this problem occur are:
  • In SQL Explorer the valid property for the package and the package body returns Yes.
  • Either the Oracle 8.0.4 or 8.1.5 client is used against a database of the same version.
  • In the BDE Administrator settings for the Oracle native driver, DLL32 is set to SQLORA8.DLL and Vendor Init is set to OCI.DLL.
  • Either Prepare is called for the Stored Proc, or the Params editor is accessed in Delphi or C++ Builder.
Under these conditions you either get an AV, or are exited from the IDE of Delphi or C++ Builder.

As of this time we don't have an exact description for what Stored Procedures work and which one do not. However; our observation is that most work. For those that have this problem, the workaround is to move the Stored Procedure out of a package and into a standalone Stored Procedure.

As of this time we believe this problem to be in the Oracle client. It is possible a future version of the Oracle client may resolve the problem.

Server Response from: ETNASC04