Connecting to a Teiid Server

The Teiid JDBC API provides Java Database Connectivity (JDBC) access to a Virtual Database (VDB) deployed on Teiid. The Teiid JDBC API is compatible with the JDBC 4.0 specification; however, it is not compatible with some methods. You cannot use some advanced features, such as updatable result sets or SQL3 data types.

Java client applications connecting to a Teiid Server will need to use at least the Java 1.8 JDK. Earlier versions of Java are not compatible. You may attempt to use a client driver from earlier Teiid versions that were compatible with the target JRE.

Support for Teiid clients and servers older than version 8 has been dropped from Teiid 10.2 and later.

Before you can connect to the Teiid Server using the Teiid JDBC API, please do following tasks.

  1. Install the Teiid Server. See the "Admin Guide" for instructions.

  2. Build a Virtual Database (VDB). Check the "Reference Guide" for instructions on how to build a VDB. If you do not know what VDB is, then start with this document.

  3. Deploy the VDB into Teiid Server. Check Administrator’s Guide for instructions.

  4. Start the Teiid Server (WildFly), if it is not already running.

After you deploy the virtual database, client applications can connect to it and issue SQL queries against it using the JDBC API. If you are new to JDBC, refer to the Java documentation about JDBC. Teiid ships with teiid-VERSION_NUMBER-jdbc.jar that is available from the downloads.

You can also obtain the Teiid JDBC from the Maven repository at using the coordinates:


where versionNumber is the version of the most recent Teiid release.

Important classes in the client JAR:

  • org.teiid.jdbc.TeiidDriver- allows JDBC connections using the DriverManager class.

  • org.teiid.jdbc.TeiidDatasource- allows JDBC connections using the DataSource XADataSource class. You should use this class to create managed or XA connections.

Once you have established a connection with the Teiid Server, you can use standard JDBC API classes to interrogate metadata and execute queries.

OpenTracing compatibility

OpenTracing is optional for the client driver. For remote connections to propagate the span the driver must have the appropriate OpenTracing jars in its classpath. This can be done via a maven dependency:


where version.opentracing is defined in the project integration bom.

Alternately, you can manually include the opentracing-util, opentracing-api, and opentracing-noop jar files as needed by the tooling or other environment where the Teiid client jar is utilized.

OpenTracing support in the client and server requires that the respective runtimes have an appropriate tracing client installed and available via the GlobalTracer.

results matching ""

    No results matching ""