java.lang.ClassNotFoundException - PullRequest
0 голосов
/ 28 июня 2011

Я установил 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 ();
}
}

Я сделал так, как они сказали на их веб-сайте :

set CLASSPATH =% CLASSPATH%; C: \ Program Files \ sdb \ Programs \ runtime \ jar \ sapdbc.jar

Но я всегда получаю одну и ту же ошибку.

Я знаю, что что-то упустил, но не могу найти это °! °

Жду вашей помощи.

Спасибо.

Ответы [ 3 ]

1 голос
/ 28 июня 2011

Что означает «установить»?По сути, сервер БД должен быть установлен и запущен.

Шаг второй - добавить драйвер (который вы можете найти в разделе C:\Program Files\sdb\programs\runtime\jar\sapdbc.jar, предполагая, что это относится и к вашей установке) к пути сборки вашего проекта.Если класс драйвера не может быть найден, он поднимет ClassNotFoundException, как вы испытали.

Вы не упоминаете, какую IDE вы используете, но попробуйте установить путь сборки вашего проекта из контекстного меню.

1 голос
/ 28 июня 2011

Попробуйте добавить следующий код, чтобы убедиться, что ваше приложение получает указанный вами CLASSPATH:

    Map<String, String> env = System.getenv();
    for (String envName : env.keySet()) {
        System.out.format("%s=%s%n", envName, env.get(envName));
    }
0 голосов
/ 29 июня 2011

Скопируйте файл jar драйвера в папку 'lib' на сервере.Затем перезапустите сервер.

...