Version 4

    WARNING this article is out of date - please refer to more recent documentation.

     

    For building dynamic VDB using "Connector Supplied Metadata" feature, one need to define  models and connector bindings in a .def file.  A Connector  is a like Hibernate Dialect along with connection properties defined. This article defines all the connector types that are supported by this feature and the XML fragments to define a Connector binding.

     

    In order to define a  source,  copy the XML fragment into  DEF file under "<ConnectorBinding> element, and change the properties to fit your environment.  For example/sample of DEF file take look at the Quick Start Example.

     

    Note:

    Please note that all the Connector properties defined below  are the minimum set of required properties that are needed for a Connector to work. For a complete set of properties that are allowed for each Connector refer to "configuration.xml" file inside "<teiid-install>/deploy" directory.

     

    The "ConnectorClassPath" property defined below is based on common JDBC driver JAR names supplied by their vendors, if your driver JAR name is different than one defined, then please change the value appropriately. And besure to copy the JAR file into "<teiid-install>/extensions" directory.

     

    Only JDBC and Text connector are supported as of 6.2 release. XML based connector are not supported using the "Connector Supplied Metadata" feature.

    Oracle Connector

     

    <Connector Name="Oracle" ComponentType="Oracle Connector">
        <Properties>
            <Property Name="URL">jdbc:oracle:thin:{host}:1521:{sid}</Property>
            <Property Name="User">scott</Property>
            <Property Name="Password">tiger</Property>
            <Property Name="ConnectorClassPath">extensionjar:classes12_g.jar</Property>
        </Properties>
    </Connector>
    

     

    Oracle XA Connector

     

    <Connector Name="Oracle" ComponentType="Oracle XA Connector">
        <Properties>
            <Property Name="URL">jdbc:oracle:thin:{host}:1521:{sid}</Property>
            <Property Name="User">scott</Property>
            <Property Name="Password">tiger</Property>
            <Property Name="ConnectorClassPath">extensionjar:classes12_g.jar</Property>
        </Properties>
    </Connector>
    

     

    DB2 Connector

     

    <Connector Name="DB2" ComponentType="DB2 Connector">
        <Properties>
            <Property Name="URL">jdbc:db2://{host}:50000/{db-name}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:db2jcc4.jar</Property>
        </Properties>
    </Connector>
    

     

    DB2 XA Connector

     

    <Connector Name="DB2" ComponentType="DB2 XA Connector">
        <Properties>
            <Property Name="ServerName">{host}</Property>
            <Property Name="DatabaseName">{db-name}</Property>
            <Property Name="PortNumber">50000</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:db2jcc4.jar</Property>
        </Properties>
    </Connector>
    

     

    SQL Server Connector

     

    <Connector Name="SQLServer" ComponentType="SQL Server Connector">
        <Properties>
            <Property Name="URL">jdbc:sqlserver://{host}:1433;databaseName={db-name}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:sqljdbc4.jar</Property>
        </Properties>
    </Connector>
    

     

    SQL Server XA Connector

     

    <Connector Name="SQLServer" ComponentType="SQL Server XA Connector">
        <Properties>
            <Property Name="ServerName">{host}</Property>
            <Property Name="DatabaseName">{db-name}</Property>
            <Property Name="PortNumber">50000</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:sqljdbc4.jar</Property>
        </Properties>
    </Connector>
    

     

    MySQL JDBC Connector

     

    <Connector Name="MySQL" ComponentType="MySQL JDBC Connector">
        <Properties>
            <Property Name="URL">jdbc:mysql://{host}:3306/{db-name}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:mysql-connector-java-5.1.5.jar</Property>
        </Properties>
    </Connector>
    

     

    MySQL JDBC XA Connector

     

    <Connector Name="MySQL" ComponentType="MySQL JDBC XA Connector">
        <Properties>
            <Property Name="ServerName">{host}</Property>
            <Property Name="DatabaseName">{db-name}</Property>
            <Property Name="PortNumber">50000</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:mysql-connector-java-5.1.5.jar</Property>
        </Properties>
    </Connector>
    

     

    PostgreSQL JDBC Connector

    <Connector Name="Postgre" ComponentType="PostgreSQL JDBC Connector">
        <Properties>
            <Property Name="URL">jdbc:postgresql://{host}:5432/{db-name}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:postgresql-8.3-603.jdbc3.jar</Property>
        </Properties>
    </Connector>
    

     

     

    PostgreSQL XA JDBC Connector

     

    <Connector Name="Postgre" ComponentType="PostgreSQL XA JDBC Connector">
        <Properties>
            <Property Name="ServerName">{host}</Property>
            <Property Name="DatabaseName">{db-name}</Property>
            <Property Name="PortNumber">50000</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:mysql-connector-java-5.1.5.jar</Property>
        </Properties>
    </Connector>
    

     

    Apache Derby Embedded Connector

     

    <Connector Name="Derby" ComponentType="Apache Derby Embedded Connector">
        <Properties>
            <Property Name="URL">jdbc:derby:{db-name}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:derbyclient.jar</Property>
        </Properties>
    </Connector>
    

     

    Apache Derby Network Connector

     

    <Connector Name="Derby" ComponentType="Apache Derby Network Connector">
        <Properties>
            <Property Name="URL">jdbc:derby://localhost:1527/{path/to/db}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:derbyclient.jar</Property>
        </Properties>
    </Connector>
    

     

    JDBC ODBC Connector

     

    <Connector Name="ODBC" ComponentType="JDBC ODBC Connector">
        <Properties>
            <Property Name="URL">jdbc:odbc:{DSN};UID={user};PWD={password};</Property
        </Properties>
    </Connector>
    

    * You need to create ODBC DSN for the source first for this Connector

     

    MS Access Connector

     

    <Connector Name="access" ComponentType="MS Access Connector">
        <Properties>
            <Property Name="URL">jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ={filePathToMDBFile}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
        </Properties>
    </Connector>
    

     

     

    MS Excel Connector

     

    <Connector Name="access" ComponentType="MS Excel Connector">
        <Properties>
            <Property Name="URL">jdbc:odbc:Driver={MicroSoft Excel Driver (*.xls)};DBQ={filePathToExcelFile}</Property>
        </Properties>
    </Connector>
    

     

    Text File Connector

     

    <Connector Name="Text Connector" ComponentType="Text File Connector">
        <Properties>
            <Property Name="Immutable">true</Property>
            <Property Name="DescriptorFile">{filePathToTextDefinitionFile}</Property>
        </Properties>
    </Connector>

     

    JDBC Connector (This can be customized for any database)

    <Connector Name="JDBC" ComponentType="JDBC Connector">
        <Properties>
            <Property Name="ConnectionSource">{JDBC Driver Class}</Property>
            <Property Name="URL">{url}</Property>
            <Property Name="User">user</Property>
            <Property Name="Password">password</Property>
            <Property Name="ConnectorClassPath">extensionjar:{JDBC jar file}</Property>
        </Properties>
    </Connector>