抛出java.lang.ClassNotFoundException

时间:2011-06-28 15:13:02

标签: java database jdbc connection classpath

我已经在我的本地计算机上安装了MaxDB,并且我正在尝试使用Java建立连接。

我在运行时遇到此错误:

  

线程“main”中的异常   抛出java.lang.ClassNotFoundException:   com.sap.dbtech.jdbc.DriverSapDB

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.ClassLoader.loadClassInternal(Unknown Source)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at sap.maxdb.Hello.main(Hello.java:15)

这是我正在使用的代码:

package sap.maxdb;

import java.sql.*;

public class Hello
{
public static void main(String[] args) throws ClassNotFoundException, SQLException
{
String username = "DBM";
String password = "azerty";
String dbname = "SAPDB";

Class.forName ("com.sap.dbtech.jdbc.DriverSapDB");
String url = "jdbc:sapdb://" + dbname;

Connection connection = DriverManager.getConnection (url, username, password);
Statement stmt = connection.createStatement ();
ResultSet resultSet = stmt.executeQuery ("SELECT * FROM HOTEL.CUSTOMER");
resultSet.next ();
String hello = resultSet.getString (1);
System.out.println (hello);

resultSet.close ();
stmt.close();
connection.close ();
}
}

我确实喜欢他们在website中说:

  

设置CLASSPATH =%CLASSPATH%; C:\ Program   文件\ SDB \程序\运行时\罐\ sapdbc.jar

但我总是得到同样的错误。

我知道我遗失了一些东西却找不到它!°

等待你的帮助。

感谢。

3 个答案:

答案 0 :(得分:1)

尝试添加以下代码以确保您的应用程序选择您指定的CLASSPATH:

    Map<String, String> env = System.getenv();
    for (String envName : env.keySet()) {
        System.out.format("%s=%s%n", envName, env.get(envName));
    }

答案 1 :(得分:1)

“安装”是什么意思?基本上,必须安装并运行db服务器。

第二步是将驱动程序(您可以在C:\Program Files\sdb\programs\runtime\jar\sapdbc.jar下找到,假设这也适用于您的安装)添加到项目的构建路径中。如果找不到驱动程序类,则会根据您的经历提出ClassNotFoundException

您没有提到您正在使用的IDE,但尝试从上下文菜单中设置项目构建路径。

答案 2 :(得分:0)

将驱动程序的jar文件复制到服务器的“lib”文件夹中。然后重新启动服务器。