Supported DBMS features when calling stored procedures
When you define and use a custom Transaction object to call
remote stored procedures in your application, the features supported
depend on the DBMS to which your application connects.
The following sections describe the supported features for
some of the DBMSs that you can access in PowerBuilder. Read the
section for your DBMS to determine what you can and cannot do when
using the RPC technique in a PowerBuilder application.
Result sets You cannot use the remote procedure call
technique to access result sets returned by stored procedures. If
the stored procedure returns one or more result sets, PowerBuilder
ignores the values and returns the output parameters and return
value.
If your stored procedure returns a result set, you can use
the embedded SQL DECLARE
Procedure statement to call it. For information about
the DECLARE Procedure statement, see the chapter
on SQL statements in the PowerScript Reference
.
Informix
If your application connects to an Informix database, you
can use simple nonarray datatypes. You cannot use
binary large objects (blobs).
ODBC
If your application connects to an ODBC data source, you can
use the following ODBC features if the back-end driver supports
them. (For information, see the documentation for your ODBC driver.)
- IN, OUT, and IN OUT parameters,
as shown in Table 12-5.Table 12-5: ODBC IN, OUT, and IN OUT parameters Parameter What happens IN An IN variable is passed by value and
indicates a value being passed to the procedure.OUT An OUT variable is passed by reference
and indicates that the procedure can modify the PowerScript variable
that was passed. Use the PowerScript REF keyword for this parameter
type.IN OUT An IN OUT variable is passed by reference
and indicates that the procedure can reference the passed value
and can modify the PowerScript variable. Use the PowerScript REF
keyword for this parameter type. - Blobs as parameters. You can use blobs that are
up to 32,512 bytes long. - Integer return codes.
Oracle
If your application connects to an Oracle database, you can
use the following Oracle PL/SQL features:
- IN, OUT, and IN OUT parameters,
as shown in Table 12-6.Table 12-6: Oracle IN, OUT, and IN OUT parameters Parameter What happens IN An IN variable is passed by value and
indicates a value being passed to the procedure.OUT An OUT variable is passed by reference
and indicates that the procedure can modify the PowerScript variable
that was passed. Use the PowerScript REF keyword for this parameter
type.IN OUT An IN OUT variable is passed by reference
and indicates that the procedure can reference the passed value
and can modify the PowerScript variable. Use the PowerScript REF
keyword for this parameter type. - Blobs as parameters. You can use blobs that are
up to 32,512 bytes long. - PL/SQL tables
as parameters. You can use PowerScript arrays. - Function return codes.
Microsoft SQL Server or
Sybase Adaptive Server Enterprise
If your application connects to a Microsoft SQL Server or Sybase Adaptive Server
Enterprise database, you can use the following Transact-SQL features:
- IN, OUT, and IN OUT parameters,
as shown in Table 12-7.Table 12-7: Adaptive Server Enterprise and
Microsoft SQL Server IN, OUT,
and IN OUT parametersParameter What happens IN An IN variable is passed by value and
indicates a value being passed to the procedure.OUT An OUT variable is passed by reference
and indicates that the procedure can modify the PowerScript variable
that was passed. Use the PowerScript REF keyword for this parameter
type.IN OUT An IN OUT variable is passed by reference
and indicates that the procedure can reference the passed value
and can modify the PowerScript variable. Use the PowerScript REF
keyword for this parameter type. - Blobs as parameters. You can use blobs that are
up to 32,512 bytes long. - Integer return codes.
Adaptive Server Anywhere
If your application connects to an Adaptive Server Anywhere database, you can
use the following Adaptive Server Anywhere features:
- IN, OUT, and IN OUT parameters,
as shown in Table 12-8.Table 12-8: Adaptive Server Anywhere IN,
OUT, and IN OUT parametersParameter What happens IN An IN variable is passed by value and
indicates a value being passed to the procedure.OUT An OUT variable is passed by reference
and indicates that the procedure can modify the PowerScript variable
that was passed. Use the PowerScript REF keyword for this parameter
type.IN OUT An IN OUT variable is passed by reference
and indicates that the procedure can reference the passed value
and can modify the PowerScript variable. Use the PowerScript REF
keyword for this parameter type. - Blobs as parameters. You can use blobs that are
up to 32,512 bytes long.