Jakarta ee JDBC Teradata连接中出错
我已经尝试通过JDBC连接到TeredataDB。我正在使用jar'terajdbc4.jar'和'tdgssconfig.jar',但是我得到了一个Jakarta ee JDBC Teradata连接中出错,jakarta-ee,jdbc,teradata,Jakarta Ee,Jdbc,Teradata,我已经尝试通过JDBC连接到TeredataDB。我正在使用jar'terajdbc4.jar'和'tdgssconfig.jar',但是我得到了一个ClassNotFoundException和noclassdefounderror,因为找不到com.ncr.teradata.jtdgss.tdgsmanager 请帮我找到解决办法。我已经提供了我的代码片段和错误日志。 使用该ID通过UNIX连接到teradata DB时,用户名和密码是正确的 public class HelloTerada
ClassNotFoundException
和noclassdefounderror
,因为找不到com.ncr.teradata.jtdgss.tdgsmanager
请帮我找到解决办法。我已经提供了我的代码片段和错误日志。
使用该ID通过UNIX连接到teradata DB时,用户名和密码是正确的
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, "*****", "******");
//Connection conn=DriverManager.getConnection(connurl, "javauser1", "password1");
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();
}
}
}
错误:
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
线程“main”java.lang.NoClassDefFoundError中出现异常:com/ncr/teradata/jtdgss/TdgssManager
位于com.ncr.teradata.TeraEncrypt.gettdgsversion(TeraEncrypt.java:548)
在com.ncr.teradata.jdbc_4.parcel.ConfigFeatureTdgss上。(ConfigFeatureTdgss.java:44)
位于com.ncr.teradata.jdbc_4.statemachine.InitDBConfigState.action(InitDBConfigState.java:68)
位于com.ncr.teradata.jdbc_4.statemachine.LogonController.run(LogonController.java:50)
位于com.ncr.teradata.jdbc_4.TDSession(TDSession.java:150)
位于com.ncr.teradata.jdbc_3.ifjdbc_4.TeraLocalConnection.(TeraLocalConnection.java:89)
位于com.ncr.teradata.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:50)
位于com.ncr.teradata.TeraDriver.connect(TeraDriver.java:214)
位于java.sql.DriverManager.getConnection(DriverManager.java:582)
位于java.sql.DriverManager.getConnection(DriverManager.java:185)
main(HelloTeradataJDBC.java:15)
原因:java.lang.ClassNotFoundException:com.ncr.teradata.jtdgss.TdgssManager
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 还有11个
这将起作用。驱动程序名是com.teradata.jdbc.TeraDriver,而不是com.ncr.teradata.TeraDriver,我相信它已经过时了
Class.forName("com.teradata.jdbc.TeraDriver");
conn = DriverManager.getConnection("jdbc:teradata://"+servername+"/databasename="+this.username+",user="+this.username+",password="+this.password);
在我使用terajdbc4.jar的jar中没有指定为“com.teradata.jdbc.TeraDriver”的包和类。请张贴到现在为止的罐子链接。缺少的类是“com.ncr.teradata.jtdgss.TdgssManager”。可以在此处找到该类。