2011-06-28 20 views
0

ローカルマシンにMaxDBをインストールしましたが、Javaを使用してMaxDBに接続しようとしています。実行しているときjava.lang.ClassNotFoundException

そして、私はこのエラーを取得しています:

例外をスレッドで "メイン" に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:\プログラム ファイルの\ SDB \プログラム\ランタイム\ジャーの\ sapdbc.jar

しかし、私は取得常に同じエラーです。私は何かが欠けていますが、それは°見つけることができないことを知っている

は!あなたの助けを待っている

を°しました。

ありがとうございました。

+0

完全なスタックトレースを投稿できますか? –

+4

set CLASSPATH = "%CLASSPATH%; C:¥Program Files¥sdb¥programs¥runtime¥jar¥sapdbc.jar" –

+0

クラスパスにスペースが含まれている場合は、クォートする必要があります。 – Qwerky

答えて

1

何「インストール」ん意味ですか?基本的には、dbサーバーをインストールして実行する必要があります。

ステップ2は、ドライバの追加です(C:\Program Files\sdb\programs\runtime\jar\sapdbc.jarにあります。これは、インストールにも当てはまるものとします)、プロジェクトのビルドパスに追加します。ドライバクラスが見つからない場合は、経験に基づいてClassNotFoundExceptionが発生します。

使用しているIDEについては言及していませんが、コンテキストメニューからプロジェクトのビルドパスを設定してください。

+0

私はEclipse 64bitを使用しています –

+0

プロジェクトを右クリックし、ビルドパス - >ビルドパスの設定 - >ライブラリタブ - >外部JARの追加を選択します。ファイルブラウザからsapdbc.jarを選択し、「OK」をクリックします。ビルドパスの問題を解決する必要があります。 – phineas

1

てみアプリケーションが指定したCLASSPATH拾っていることを確認するには、次のコードを追加:

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

ドライバのjarファイルをサーバの 'lib'フォルダにコピーします。次に、サーバーを再始動します。

関連する問題