Including data from an external database into a Mongoose-based application
Mongoose-based applications can
communicate with external databases hosted on various types of servers, through the
IDO layer. To set up communication, use these steps:
Note: To
link to a non-Unicode database, use the Process
Defaults form to set the Non Unicode Literal process default. This
ensures that the database indexes are scanned and accessed properly when
performing queries.
Notes about the process:
- The profile that is stored with an IDO definition is used to make an Application Database object within the IDO layer for read and write operations on the table, as well as for method calls to that database.
- As an alternative to building an IDO through the wizard, which
allows basic read-write functionality to the external database, you can use
IDORuntime.Context.CreateOutriggerApplicationDB in a custom
program to provide direct access to the outrigger database.
For a code sample that uses this assembly, see Example: Custom Code to Communicate with an Outrigger Database.
- For DB2 databases, a third-party driver package must be installed and configured. Contact Support for details.
- For Oracle and Progress databases, a license to a third-party driver package must be purchased. Contact Support for details.
- There are two modes for connecting to Oracle databases:
- If the application server is the Oracle server or Oracle Client software is installed on the Application Server, in the Options grid, specify an option of with a value of False; and in the Data Source field, specify the Oracle service name (SID).
- Otherwise, in the Options grid, add an option of with a value of True; and in the Data Source field, specify the Oracle server's IP address or DNS name. Finally, add an additional option of SID with a value of the Oracle service name on the Oracle server. You can also add an option of Port with the port number to connect to. The default value is 1521. In this mode, you can perform write operations on a linked table in an Oracle database only through a configuration where the option is cleared.
- You cannot use asynchronous event handlers when communicating with external databases.
- You cannot use the external database and tables for any event action where the workflow must be suspended.
- You cannot use User-Defined Fields (UDFs) when communicating with external databases.
- All external tables referenced in an IDO must exist in the same database.
- RowPointer and RecordDate properties are used by Mongoose but do not exist in external tables; so those IDO properties are derived, instead of pointing to base table columns.
- A called Oracle IDO method must be a function with a return type of Integer.
- Due to driver limitations, these data-types are not supported for linked tables in a Progress database: LVARBINARY, BLOB, LVARCHAR, CLOB, BINARY, VARBINARY, RECID, TINYINT, BIGINT.
- For Postgres databases, the BIT data-type is not supported, because IDO Properties have no equivalent data-type.
- Due to security requirements, you can perform read and write operations on a linked table in a DB2, Oracle, Postgres, or Progress database only through a configuration, where the option is cleared.
- Due to driver limitations, you can perform write operations on a linked table in a DB2 or Progress database only through a configuration, where the option is cleared.