---
title: "VaultSpeed Extended Agent"
canonical: "https://docs.vaultspeed.com/space/VPD/3013017619/VaultSpeed%20Extended%20Agent"
format: markdown
---
## Source harvesting

The extended agent allows you to read metadata from any source that can be accessed through a JDBC Driver.

Once the Extended Agent module has been bought, extra source types will become available:

- Kafka: connect to Confluent Kafka and read the metadata from it. This can be used in combination with the FMC, which will load the data from Kafka to the target.
- JDBC: connect to a source using any JDBC Driver.

When using the generic JDBC source, the connection needs to be defined in the agent connections file (not in the cloud).  
This connection needs 2 extra properties:

- `driverName`: Java Class name of the Driver (e.g. org.postgresql.Driver for postgresql). For most drivers, this can be found in the documentation of that driver.
- `driverPath`: Path to the JDBC Driver Jar file (absolute path, needs to be accessible by the agent)

Note that also other Source database types can use these extra properties to specify a different driver the the one already included in the Agent.


The JDBC Driver needs to support the following functions:

- `connect` (with URL and optionally a password and user property)
- `connection.getMetaData()`
- `DatabaseMetaData.getSchemas()`
- `DatabaseMetaData.getCatalogs()`
- `DatabaseMetaData.getTables()`
- `DatabaseMetaData.getColumns()`
- `DatabaseMetaData.getPrimaryKeys()`
- `DatabaseMetaData.getImportedKeys()`
- `DatabaseMetaData.getIndexInfo()`

 

To use the Diver to load data with the FMC, the following functions need to be supported:

- execute select from where queries using `cursor.execute` and `fetchmany`.

## Deployment

The extended agent also allows you to specify an external JDBC driver when deploying with a certain connection.  
This is required when connecting to Cloudera or BigQuery since their drivers are not included in the Agent.  
For other connection, this could be used to force the connection to use a different driver or version of the driver than already present in the Agent. It is however important to make sure that the Driver is compatible with the selected target technology in order to avoid issues.

These two extra properties can be added to any JDBC connection:

- `driverName`: Java Class name of the Driver (e.g. org.postgresql.Driver for postgresql). For most drivers, this can be found in the documentation of that driver.
- `driverPath`: Path to the JDBC Driver Jar file (absolute path, needs to be accessible by the agent)