Connecting to a Teradata database using Teradata JDBC driver

Teradata JDBC driver enables all Java applications to connect a Teradata database using a well-established industry standard Java Database Connectivity (JDBC) API interface. The latest version of the JDBC driver is release 13.00 and it is available for download on Teradata Download Center together with sample Java code.

The driver is backward compatible and release 13.00 supports Teradata Database V2R6.0, V2R6.1, V2R6.2, 12.00 and 13.00. The full list of new and noteworthy features accompanied with detailed release notes is available in the README file.

A new database connection can be obtained in a standard JDBC way by using java.sql.DriverManager.getConnection method with a proper connection string to get a new instance of java.sql.Connection.

The simplest database connection string would be:

jdbc:teradata://ServerHost/database=MyDatabaseName

There is a number of available connection parameters, all are described in detail in the Teradata JDBC Driver User Guide:

ACCOUNT=account_id
CHARSET={ASCII/LATIN1_0A/KANJISJIS_0S/KANJIEUC_0U/LATIN9_0A/LATIN1252_0A/HANGULKSC5601_2R4/SCHGB2312_1T0/TCHBIG5_1R0/UTF8/UTF16}
COMPAT_DBS=true/false
COMPAT_ISAUTOINC=true/false
COMPAT_ISCURRENCY=true/false
COMPAT_ISSIGNED=true/false
COMPAT_ISSEARCH=true/false
COMPAT_ISREADONLY=true/false
COMPAT_ISWRITABLE=true/false
COMPAT_ISDEFWRIT=true/false
COMPAT_GETSCHEMA=ReturnValue
COMPAT_GETTABLE=ReturnValue
DATABASE=default database name
DBS_PORT=number
ENCRYPTDATA={ON/OFF}
GOVERN={ON/OFF}
LOB_SUPPORT={ON/OFF}
LOB_TEMP_TABLE=tableName or databaseName.tableName
LOG={ERROR/INFO/DEBUG}
LOGDATA=varies according to the LOGMECH selection
LOGMECH={TD1/TD2/KRB5/LDAP}
NEW_PASSWORD=new password string
PARTITION= {DBC/SQL,MONITOR}
SESSIONS=n, where 1 <= n <= number of AMPs
SP_SPL={SPL/NOSPL}
TMODE={ANSI/TERA/DEFAULT}
TSNANO={0...6}
TYPE={DEFAULT/FASTLOAD/FASTEXPORT}
USEXVIEWS={ON/OFF}


In example, to connect to a Teradata database using ANSI session mode and UTF-8 charset the connection string should be built as follows:

jdbc:teradata://ServerHost/database=MyDatabaseName,tmode=ANSI,charset=UTF8


A sample Java code snippet for obtaining a database connection would look as follows:

Class.forName("com.teradata.jdbc.TeraDriver");
String connectionString = "jdbc:teradata://MyDatabaseServer/database=MyDatabaseName,tmode=ANSI,charset=UTF8";
String user = "username";
String passwd = "password";
Connection conn = DriverManager.getConnection(connectionString, user, password);

Please note that to allow the JVM to access the com.teradata.jdbc.TeraDriver class, the driver classes located in terajdbc4.jar and tdgssconfig.jar files (yes, you need both) should be available in the classpath.

In case of any issues please refer to Teradata JDBC FAQ, Teradata JDBC Driver User Guide and online code samples.


Additional reference:
  1. JDBC driver FAQ: http://www.teradata.com/DownloadCenter/Topic9403-98-1.aspx
  2. Teradata JDBC Driver User Guide: http://www.info.teradata.com/eDownload.cfm?itemid=082310004&type=TD
  3. JVM support matrix: http://www.teradata.com/DownloadCenter/Topic9391-98-1.aspx