Configuration file

From Toolsverse Knowledge Base
Revision as of 14:06, 31 July 2014 by Maxlmus (Talk | contribs)

Jump to: navigation, search

ETL Framework configuration file

ETL configuration file tells ETL framework what connections to use and what ETL scenarios to run. It is located under APP_HOME/config.

For example: c:/etl/config/etl_config.xml.

File contains the following elements:

Properties

This section includes Java system properties which can be used by ETL Framework.

Example:

<properties>
   <log.step>777</log.step>
   <cache>com.toolsverse.cache.MemoryCache</cache>
   <oracle.oraclehome>c:/oracle</oracle.oraclehome>
</properties>

List of default properties:

Property Description Default value Example
log.step Log step is a how many rows of the data set to skip until log the event. For example if "log step" property set to 10 while iterating through the rows the ETL process will log every 10 rows.

Note: to log this kind of events the log level must be set to INFO in the log4j.properties located under APP_HOME/config

0 (never)
<log.step>777</log.step>
cache Defines the class which is used by ETL framework to cache values such as primary and foreign keys.

Note: It must implement com.toolsverse.cache. Cache interface

com.toolsverse.cache.SynchMemoryCache
<cache>com.toolsverse.cache.MemoryCache</cache>
connection.factory Defines the class which is used to create connections used by ETL framework. Note: It must implement com.toolsverse.etl.core.connection.EtlConnectionFactory interface com.toolsverse.etl.core.connection.EtlConnectionFactoryImpl
<connection.factory>abc</connection.factory>
oracle.oraclehome The Oracle client home
<oracle.oraclehome>c:/oracle</oracle.oraclehome>
db2.db2home The DB2 client home
<db2.db2home>c:/db2</db2.db2home>
mssql.mssqlhome The MS SQL Server client home
<mssql.mssqlhome>c:/sqlserver</mssql.mssqlhome>
sybase.sybasehome The Sybase client home
<sybase.sybasehome>c:/ase</sybase.sybasehome>
mysql.mysqlhome The MySQL client home
<mysql.mysqlhome>c:/mysql</mysql.mysqlhome>
postgres.postgreshome The PostgreSQL client home
<postgres.postgreshome>c:/postgres</postgres.postgreshome>
informix.informixhome The Informix client home
<informix.home>c:/informix</informix.home>

Connections

In this section you describe SQL and Non SQL connections (for example Excel, XML or text files). There can be as many connections as you want, not necessary the once you are going to use when running particular ETL scenario. Just keep them here, you might need them next time.

Example:

<connections>
      <connection alias="test javadb">
         <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
         <url>jdbc:derby:./data-test/javadb</url>
      </connection>
 
   <connection alias="test oracle">
      <driver>oracle.jdbc.driver.OracleDriver </driver>
      <url>jdbc:oracle:thin:@localhost:1521:orcl1</url>
      <userid>user</userid>
      <password>password</password>   
   </connection>
</connections>