Direct Connection to the Database

You can use a separate database connection to establish access to the adaplet tables. This connection provides an alternative to using DBLINKs or when there might be Oracle setup issues. You can define the database location using the server or schema name, or you can directly connect to the database. For more information about locating the database using the server or schema, see Mapping File Syntax.

These transactions are not XA transactions. Commits to 3DSpace and the adaplet database are done separately. Include the following in the mapping file for direct connection:

item Username USER;
item Password PASS;
item ConnectString CS;
item Driver DRIVER_TYPE;

Where USER, PASS and CS are the username, password and connect string to be used for the connection. DRIVER_TYPE is Oracle/OCI80 and defaults to the driver type of the bootstrap.

If you use a direct connection, you cannot use the server keyword, but you can use the schema directive if required. For example, this situation occurs when the tables in the adaplet database need to be referenced using the schema prefix from the specified connection.

If an adaplet database direct connection fails, 3DSpace attempts to reconnect whenever it needs access to the objects in the foreign vault. If it still fails, a database error will occur, but 3DSpace will continue attempting to reconnect.

In addition, adaplets have their own connection pool. To set the number of adaplet direct connections that should be held, include the following in the mapping file:

item ConnectionPoolSize X

To determine this value, estimate the percent of transactions or queries that use the adaplet vault and apply that percentage to the value of MX_CONNECTION_POOL_SIZE. For example, if you estimate that 33% of transactions access the adaplet, and MX_CONNECTION_POOL_SIZE = 30, then set the following:

item ConnectionPoolSize 10

If the adaplet database connection is unstable or frequently unavailable, you can set the ConnectionPoolSize to 0 so that 3DSpace will only attempt to connect as needed. The default (without the directive at all) is to always stay connected.