OpenLink Software

The development of sophisticated applications that exploit advanced features of relevant industry standards.
Feature Category Features
Performance
Multithreaded Enables exploitation of scalability benefits arising from the use of multiple CPUs or Clusters while developing or using DBMS independent applications.
Array Bound RowSets As part of the new RowSet class. It is now possible to bind data arrays to the columns of the OpenLink RowSet object, and retrieve the data directly into the arrays with a single invocation of the RowSet.next() method.
Standards Compliance
Supports Advanced Data Access API functionality Enables the development and utilization of DBMS application with DBMS independent granularity that extends to challenging areas such as scalar function calls, dates and timestamps manipulation, outer join handling, and SQL stored procedure invocation etc.
ODBC and JDBC Scrollable Cursor Support Enables the development of JDBC based DBMS independent applications that are capable of exploiting the ODBC style (Attached RowSet extension to JDBC by OpenLink) and JDBC style (Detached RowSet) scrollable cursor models from a single driver. This approach provides the application developer with maximum flexibiity and control over the degree of database change sensitivity expressed by a JDBC based application.
JDBC 3.0 Connection Pooling support JDBC 3.0 standardizes connection pooling configuration properties thereby alleviating complexity from the myriad vendor-specific properties in JDBC 2.0. This enables higher interchangeability across JDBC Drivers for JDBC compliant application and service developers. Additionally, the properties allow administrators to fine tune the connection pool to maximize performance characteristics of the application or service. The following properties are implemented by our drivers; maxStatements, initialPoolSize, minPoolSize, maxPoolSize, maxIdleTime, and propertyCycle
Named Parameters in Callable Statements Prior to JDBC 3.0, the way to set a parameter in a SQL Stored Procedure was by specifying the parameter's index, not its name. The CallableStatement interface has been enhanced in JDBC 3.0 so that you can now specify parameters by their names.
Resultset Holdability A holdable cursor, or result, is one that does not automatically close when the transaction that contains the cursor is committed. JDBC 3.0 adds support for specifying cursor holdability. To specify the holdability of your ResultSet, you must do so when preparing a statement using the createStatement(), prepareStatement(), or prepareCall() methods. The holdability may be one of the following constants: HOLD_CURSORS_OVER_COMMIT or CLOSE_CURSORS_AT_COMMIT. Note it is more efficient to close CURSOR at the end of transactions (after the COMMIT). JDBC doesn't specifiy a default HOLD_CURSOR behavour but for resource expediency we have chosen CLOSE_CURSORS_AT_COMMIT as the default.
Prepared Statement Pooling support A prepared statement allows you to take a commonly used SQL statement and pre-compile it, thereby dramatically improving performance if the statement is executed multiple times. If your applications has many queries that are reused with only parametic changes occuring, then it is beneficial to pool this statements and retain control over their life span. JDBC 3.0 delivers as solution to this need via Prepared Statement Pooling, which enables the life span of a prepared statement to be handled at the driver level thereby alleviating the JDBC application or service developer of this responsibility.
Transaction Savepoints support JDBC 3.0 provides the ability to have increased granularity over the control of database transactions. The new Savepoint interface allows you to partition a transaction into logical breakpoints, providing control over how much of the transaction gets rolled back.