Overview
Database extractor supports harvesting data from traditional RDBMS (Relational Database Management Systems) using JDBC (Java Database Connectivity) drivers.
...
Code Block |
---|
{ "display": string, "database": { "url":string, // "authentication": { "username":string, // Username for the database, "password":string, // Password for the database, }, "databaseType":string, // String, type of DB to connect to // eg: mysql, db2, oracle, mssqlserver, sybase "hostname":string, // String, hostname of database server to connect to "port":string, // String, port database server is listening for connections on "databaseName":string, // String, name of database containing the data to be extracted "query":string, // String, SQL query used to retrieve full dataset from source (the first time the source is added) "deltaQuery":string, // String, SQL query used to retrieve updates from source after the first time through "deleteQuery":string, // String, not currently implemented "primaryKey":string, // String, primary key field in data set, used to help identify whether a record is new or previously harvested "primaryKeyValue":string, //String, primary key value, only used when placing in the feed record "title":string, // String, one of the columns from query/deltaQuery; populates the document's title field "snippet":string, // String, one of the columns from query/deltaQuery; populates the document's description field "publishedDate":string, // String, one of the columns from query/deltaQuery; populates the document's published date field } } |
...
Field | Description |
---|---|
url | url for the database. |
username | Username for the database credentials. |
password | From v0.3, password can be either plaintext or encrypted. In earlier versions, password must be encrypted. download the jasypt command line utility to encrypt (link) - use "infinit.e" as the "password" (actually the salt). |
databaseType | The type of RDBMS to connect to. Valid values currently include: mysql, db2, oracle, oracle:thin:sid, mssqlserver, sybase. (Additional types can be added via configuration) NOTE: the corresponding JDBC JARs must be installed - contact your administrator if not. |
hostanme | The hostname of the database server to connect to, i.e. "my.databaseserver.com" in the example above. |
port | The port that the database accepts incoming connections on. |
databaseName | The name of the database to connect to. |
query | The query field is used to specify the SQL used to perform a full extraction of data for the source. This is generally used the first time the harvester extracts data from a source with incremental extractions being specified using the deltaQuery below. |
deltaQuery | The deltaQuery field is used to specify the SQL that extracts data from the source RDBS based on one or more delta values, i.e. created or modified date for a record. |
deleteQuery | Note: The deleteQuery functionality of the Database Harvester is not implemented in the Beta version of Infinit.e. |
primaryKey | Primary key field in data set, used to help identify whether a record is new or previously harvested. |
primaryKeyValue | Primary key value, only used when placing in the feed record. |
title | Record field used to populate the document's title field. |
snippet | Record field used to populate the document's description field. |
publishedDate | Record field used to populate the document's published date field. |
...
Connecting to the Database
The database extractor uses a combination of the databaseName, databaseType, hostname, port, username, and password fields to connect to the database via jdbc.
To connect to the database url, the following url format can be used:
...
Info |
---|
if no 'primaryKey' is specified then a random string is used |
Example:
...
If no value is specified for primaryKeyValue
the following format is used
- database.url + record.get(primaryKey)
Example:
...
Examples
Obtaining Data from the Database
...