I tried to connect to the TEEDAT database via JDBC. I use jars 'terajdbc4.jar' and 'tdgssconfig.jar', but I get ClassNotFoundExceptionand NoClassDefFoundErrorfor something like com.ncr.teradata.jtdgss.TdgssManagernot found.
Please help me find a solution. I have provided my code snippet followed by an error log. The username and passwords are correct because they connect to the Teradata database through UNIX using this identifier.
public class HelloTeradataJDBC {
public static void main(String[] args) throws Exception {
String url="jdbc:teradata://10.10.***.**/DBS_PORT= 1025/DATABASE= ******/TMODE=ANSI,CHARSET=UTF8";
try{
Class.forName("com.ncr.teradata.TeraDriver");
Connection conn=DriverManager.getConnection(url, "*****", "******");
String query="select * from xi.san_emp";
PreparedStatement stmt=conn.prepareStatement(query);
ResultSet rs=stmt.executeQuery();
while(rs.next()) {
String col1=rs.getString(1);
System.out.println("col1="+col1);
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
}
Error:
Exception in thread "main" java.lang.NoClassDefFoundError: com/ncr/teradata/jtdgss/TdgssManager
at com.ncr.teradata.TeraEncrypt.getTDgssVersion(TeraEncrypt.java:548)
at com.ncr.teradata.jdbc_4.parcel.ConfigFeatureTdgss.<init>(ConfigFeatureTdgss.java:44)
at com.ncr.teradata.jdbc_4.statemachine.InitDBConfigState.action(InitDBConfigState.java:68)
at com.ncr.teradata.jdbc_4.statemachine.LogonController.run(LogonController.java:50)
at com.ncr.teradata.jdbc_4.TDSession.<init>(TDSession.java:150)
at com.ncr.teradata.jdbc_3.ifjdbc_4.TeraLocalConnection.<init>(TeraLocalConnection.java:89)
at com.ncr.teradata.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:50)
at com.ncr.teradata.TeraDriver.connect(TeraDriver.java:214)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at HelloTeradataJDBC.main(HelloTeradataJDBC.java:15)
Caused by: java.lang.ClassNotFoundException: com.ncr.teradata.jtdgss.TdgssManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 11 more
source
share