MATLAB: Connecting to Teradata Database

databaseDatabase Toolboxjdbcteradata

Hi all
For anyone with experience connecting to Teradata Database and/or in-the-know about java database connectivity, would be grateful for your assistance in troubleshooting the java-layer error below.
The database.m function throws an error at line 310 (2012b)
connectionVector = makeDatabaseConnection(conn);
when I try to connect by:
database('test_dal','USER','PASS','com.teradata.jdbc.TeraDriver','jdbc:teradata://tdprddub/TMODE=TERA');
I have replaced the real username & password with "USER" & "PASS" here which are correct (since i can connect successfully by TeraData Studio).
I have inserted the java driver reference in classpath.txt with
C:\Program Files\Teradata\Client\14.00\Teradata Studio nt-x8664\plugins\com.teradata.datatools.terajdbc_14.2.0.201302060329\terajdbc4.jar
Which is the correct location. It seems like there must be some minor syntax issue with the Driver or URL arguments passed into the database.m function.
I realise this is impossible to debug but hoping somebody on a longshot has had similar issues.
conn = database('test_dal','USER','PASS','com.teradata.jdbc.TeraDriver','jdbc:teradata://tdprddub/TMODE=TERA');
GSSException: Failure unspecified at GSS-API level (Mechanism level: UserFile parameter null)
at com.teradata.tdgss.jtdgss.TdgssParseXml.<init>(Unknown Source)
at com.teradata.tdgss.jtdgss.TdgssConfigApi.<init>(Unknown Source)
at com.teradata.tdgss.jtdgss.TdgssManager.<init>(Unknown Source)
at com.teradata.tdgss.jtdgss.TdgssManager.getInstance(Unknown Source)
at com.teradata.jdbc.jdbc.GenericTeraEncrypt.getGSSM(GenericTeraEncrypt.java:623)
at com.teradata.jdbc.jdbc.GenericTeraEncrypt.getConfig(GenericTeraEncrypt.java:641)
at com.teradata.jdbc.jdbc.GenericTeraEncrypt.getUserNameForOid(GenericTeraEncrypt.java:734)
at com.teradata.jdbc.AuthMechanism.<init>(AuthMechanism.java:50)
at com.teradata.jdbc.jdbc.GenericLogonController.run(GenericLogonController.java:122)
at com.teradata.jdbc.jdbc_4.TDSession.<init>(TDSession.java:214)
at com.teradata.jdbc.jdk6.JDK6_SQL_Connection.<init>(JDK6_SQL_Connection.java:34)
at com.teradata.jdbc.jdk6.JDK6ConnectionFactory.constructConnection(JDK6ConnectionFactory.java:22)
at com.teradata.jdbc.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:130)
at com.teradata.jdbc.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:120)
at com.teradata.jdbc.TeraDriver.doConnect(TeraDriver.java:232)
at com.teradata.jdbc.TeraDriver.connect(TeraDriver.java:158)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.mathworks.toolbox.database.databaseConnect.makeDatabaseConnection(databaseConnect.java:369)

Best Answer

I needed to add tdgssconfig.jar to classpath too.