【发布时间】:2014-04-11 10:59:45
【问题描述】:
我正在尝试连接到位于服务器上的远程 DB2 数据库。我已经使用 ODBC 建立了必要的 DSN 连接,并且测试成功。所以在下面的代码中,我使用的是我的 DSN 名称 IMRM2,对吗?
但我的主要问题是,即使在将 db2jcc.jar、db2jcc_license_cu.jar 添加到我的 Eclipse 库之后,我仍然收到以下错误。 ?
错误:
java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at ConnectToDb2.makeConnection(CreateChart.java:19)
at CreateChart.main(CreateChart.java:63)
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1400(Unknown Source)
at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
... 11 more
Java 文件。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
class ConnectToDb2{
String jdbcClassName="com.ibm.db2.jcc.DB2Driver";
String url="jdbc:db2:IMRM2";
String user="db2inst1";
String password="DB2";
Connection connection = null;
public void makeConnection()
{
try
{
Class.forName(jdbcClassName);
connection = DriverManager.getConnection(url, user, password);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
if(connection!=null)
{
System.out.println("Connected successfully.");
try
{
connection.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}//End of finally
} // End of method makeConnection
}
public class CreateChart {
public static void main(String[] args) {
ConnectToDb2 obj_connectdb2 = new ConnectToDb2();
obj_connectdb2.makeConnection();
}
}
【问题讨论】:
-
你能分享你的项目eclipse构建路径吗?
-
"java.util.zip.ZipException: 无效的 LOC 标头(错误签名)" - 看起来您的驱动程序的 jar 文件已损坏