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 section called “SQL Statements” in 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 the following
table.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 the following
table.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 SAP Adaptive Server
Enterprise
If your application connects to a Microsoft SQL Server or SAP
Adaptive Server Enterprise database, you can use the following
Transact-SQL features:
-
IN, OUT, and IN OUT parameters, as shown in the following
table.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.
SQL Anywhere
If your application connects to a SQL Anywhere database, you can use
the following SQL Anywhere features:
-
IN, OUT, and IN OUT parameters, as shown in the following
table.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.