OpenAccess SDK makes it simple for you to develop the interface to your data source without any reductions in runtime performance and development flexibility. You can develop your IP in C, C++, Java, or .NET.
Batch insert
Insert multiple records using a single SQL statement.
Binary product
OpenAccess SDK provides binaries to run on the supported platforms, eliminating portability issues related to source code solutions.
Block of rows interface to java ip (bulk fetch)
You can transfer multiple rows at a time to the OpenAccess SDK SQL Engine.
Customization of driver and data type information for the Java and .NET IPs
You can turn on tracing to record client calls, client/server communications, SQL processing, and your IP processing—all of which can help you support your customers.
Configurable runtime tracing
You can turn on tracing to record client calls, client/server communications, SQL processing, and your IP processing—all of which can help you support your customers.
Data Definition Language (DDL) extensions
IP-specific syntax can be passed as part of the DDL commands. Use this feature to specify additional information required by your data source when creating tables, columns and indexes.
Distribution toolkit
Client distribution media is provided that is easily configured to display your product and company name.
Explain mode
See exactly what processing will be done for your queries. This can be used to interactively design your implementation strategy.
Expression processing options
Enable or disable sensitivity to leading and trailing blanks and case sensitivity when dealing with character data.
Extensive SQL92 DML, DDL and DCL support
Joins, unions, nested query, stored procedures, insert, update, delete, grant and revoke are supported.
Flexible schema management
Use the OpenAccess SDK built-in schema manager or use your existing schema management code.
Interactive SQL
OpenAccess SDK provides a command line utility to interactively connect to your database and execute queries. It runs on all supported platforms and allows batches of queries to be executed from a file. Use it during development and then as a test tool.
Interval literals
Interval literal strings can be used in SQL query to manipulate Date/Time/Timestamp values.
IP handling of DISTINCT, ORDER BY and GROUP BY
The IP can register to handle these operations in an optimized way.
Join processing
The OpenAccess SDK SQL engine handles all join processing. You only have to implement processing for the individual tables. Optionally you can use the join pushdown feature to take advantage of your data source for certain joins.
LOB streaming
You can stream LONGVARCHAR and LONGVARBINARY data between your IP and the OpenAccess SDK SQL Engine.
Memory management
Optimized memory management allows multi-user access to data without wasting memory due to fragmentation.
Passing user-defined connection options to the IP
Your driver can support custom connection options. Users can pass any connection attributes as attribute = value formatted strings.
Query optimization
The IP can get information about the query to minimize the number of rows it builds. You can optimize on a single index, multiple column indexes, or multiple columns whether they are indexed or not.
Record locking
Support for SELECT FOR UPDATE [NOWAIT] allows implementation of a record locking mechanism for shared data read/write.
ROWID and ROWVER columns support
Allows data source updates to be optimized by using row identifier and row version columns.
Scalability
All components are fully multithreaded to allow you to implement a scalable solution. In cases where your data source access cannot be fully threaded you can configure OpenAccess SDK to run in thread safe mode in which case it forks.
Standards compliance
OpenAccess SDK is compliant with these data access standards:
• ADO 2.8
• JDBC 4.0
• .NET Framework 4.5 and 4.6
• ODBC 3.52
Stored procedures
The IP can register an unlimited number of functions that can be invoked by the client application. Stored procedures support input arguments, output arguments, and return values. One or more result sets can be returned and each can be defined at runtime.
Transactions control
Full support for transactions with the ability to preserve cursors after commit.
User defined data for tables and columns
IP-specific data can be associated with tables and columns in the schema to be used by the IP at runtime.