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.
If your application connects to an Informix database, you can use simple nonarray datatypes. You cannot use binary large objects (blobs).
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.
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.
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.
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.
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.
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.
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.
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.