1.1.1

Table Of Contents
It can be implemented for any table, although a separate instance of the RowLoader is created for each table.
It pools JDBC Connections and PreparedStatements, with a congurable minimum and maximum number of
connections.
It uses the Connection.isReadOnly(true) setting to request that the driver optimize the transaction settings for
database reads.
A query-string parameter is passed to the JDBCRowLoader to tell it what SQL statement to use against
the archive database. This is a required parameter.
If the column layout of the archive table matches the column layout of the SQLFire table, you can use SELECT
* in the query string.
If the column layout of the archive table does not match the column layout of the SQLFire table, you must
explicitly provide and order the column names in the SELECT statement so that the result set matches the layout
of the SQLFire table.
There is no requirement that the schema or table name in SQLFire match the schema and/or table name in the
archive database.
The elements of the primary key are passed into the JDBCRowLoader when it is invoked, in the order that the
columns are dened in the SQLFire table. They will be passed as parameters into the PreparedStatement in that
order, so you must structure the WHERE clause of the query-string so that the elements are passed in the correct
order.
Accepted parameters with examples:
url=jdbc:oracle:thin:@localhost:1521:XE (required)
query-string=SELECT * FROM LoaderArchive WHERE id=? AND name=? (required)
user=app
password=app
min-connections=1
max-connections=5
connection-timeout=3000 (milliseconds)
All properties are also passed to the JDBC connection when it is created.
JDBCRowLoader Example Implementation
SQLFire installs a sample JDBCRowLoader implementation in
vFabric_SQLFire_11_bNNNNN/examples/JDBCRowLoader.java. Note that this example requires
gemfire.jar (from the vFabric GemFire product) in order to run.
189
Using a RowLoader to Load Existing Data