# Datenbanktreiber wird nicht geladen ?



## Arnold19999 (13. Feb 2008)

Hallo erst mal,

ich habe ein kleines problem, folgendes Programm funktioniert einwandfrei wenn ich es in Eclipse starte,
wenn ich allerdings über die console gehe hat er ein kleines problem da er den treiber nicht laden kann. wie kann man das ändern?

quelltext anbei

```
import java.io.*;
import java.sql.*;

public class Account02 {
	public static void main(String[] args) throws IOException, SQLException {
		// Einlesen von Parametern
		String Anfangsdatum = args[0]; 	//   2008-12-31
		String Enddatum = args[1];		//   2008-12-31
		String dbpfad = args[2];		//   //100.0.0.0/name
		
		// Datenbank-treiber laden
			try {
				Class.forName("org.postgresql.Driver");
			} catch (Exception e) {
				System.out.println(e);
				System.out.println("Treiber konnte nicht geladen werden!");
			} // treiber geladen!!!

		// Verbindung zur DB aufbauen
			Connection verbindung = null;
			try {
				verbindung = DriverManager.getConnection(
					"jdbc:postgresql:"+ dbpfad + "", "PW", "USER");
			} catch (Exception e) {
				System.out
					.println("Verbindung zur Datenbank konnte nicht hergestellt werden");
			} // verbindung hergestellt !!!
		
		
		// Datenbank-Verarbeitung
			File datei = new File("Account"+Anfangsdatum+ "_" +Enddatum+ ".txt");
	    	FileWriter ausgabestrom = new FileWriter(datei);
	    	PrintWriter ausgabe = new PrintWriter(ausgabestrom);
	    	ausgabe.println("jahrmonat;service_id;log_user;anzahl");
			Statement smt = null;
			smt = verbindung.createStatement();
			ResultSet result = null;
			result = smt.executeQuery("SELECT distinct to_char(log_zeitpunkt, 'YYYYMM') as JahrMonat, s.service_id, u.log_user, '1' as Anzahl FROM acc_account_user u, acc_anwendung_service s WHERE log_zeitpunkt >= '" + Anfangsdatum + " 00:00:00.000000' and log_zeitpunkt <= '"+ Enddatum +" 23:59:59.999999' and u.anwendung_id = s.anwendung_id and not (log_user = 'SUMSUMSUM')");
			while (result.next()){
				ausgabe.println(result.getString(1)+ ";" + result.getString(2)+ ";" + result.getString(3)+ ";" + result.getInt(4));
			}
			
	    	
	}
}
```

bitte um dringende hilfe

Gruß
Arnold


----------



## The_S (13. Feb 2008)

Der Treiber ist in den Classpath eingebunden?


----------



## Guest (13. Feb 2008)

ist der treiber in den classpath eingebunden?

keine ahnung?

wir haben das progrmam vorher via javac.exe compiliert... klappt aber nicht


----------



## Arnold19999 (13. Feb 2008)

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_03"/>
	<classpathentry kind="lib" path="D:/Eclipse Projekte/Account02/src/postgresql-8.2-504.jdbc2.jar"/>
	<classpathentry kind="output" path="bin"/>
</classpath>


da ist mein classpath und sieht aus als waere der treiber da drin
<classpathentry kind="lib" path="D:/Eclipse Projekte/Account02/src/postgresql-8.2-504.jdbc2.jar"/>


----------



## The_S (13. Feb 2008)

Anonymous hat gesagt.:
			
		

> keine ahnung?



super Aussage :roll: .


----------



## The_S (13. Feb 2008)

Irgendeine XML-Datei, wo niemand weiß was damit gemacht wird und woher die kommt, kann uns nichts darüber sagen, ob du den Classpath richtig gesetzt hast.


----------



## Guest (13. Feb 2008)

diese xml datei heißt zufällig .classpath und befindet sich im projekt-ordner
von da aus könnte ich auf die idee gekommen sein das sei mein classpath


----------



## The_S (13. Feb 2008)

das ist aber ne XML-Datei, mit der Eclipse arbeitet. Außerhalb von Eclipse hat sie keinerlei Bedeutung.


----------



## Arnold19999 (13. Feb 2008)

ok, das ist natürlich schlecht.
wie kann ich denn eine classpath datei erstellen die auch außerhabe eclipse von bedeutung ist oder einfacher wie löse ich mein problem?


----------



## The_S (13. Feb 2008)

Weißt du überhaupt was der Classpath ist?

Schau dir mal die ersten Schritte in der FAQ an.

[edit] OK, ich sehe gerade wir haben keinen Beitrag in den FAQ, der über den Classpath und von manuellem kompilieren handelt. Das ist natürlich schlecht und sollte mal dringend nachgeholt werden *zu mods und admins guckt*. Ich such dir mal n gutes Tutorial raus.


----------



## Gast (13. Feb 2008)

ok, was ist die lösung für mein problem? 
außer mir zu sagen das ich ein anfänger bin was ich selber auch schon weiß


----------



## The_S (13. Feb 2008)

Meinen edit im letzten Post hast du gesehen?

http://en.wikipedia.org/wiki/Classpath_(Java)


----------



## Gast (13. Feb 2008)

ok, haben wir gelesen, durchgeführt, funktioniert nicht!

C:\Programme\Java\jdk1.5.0_03\bin\javac -classpath "D:\Eclipse Projekte\Account02\src\postgresql-8.2-504.jdbc2.jar" Account02.java

fehlermeldung: treiber konnte nicht geladen werden!!!


----------



## The_S (13. Feb 2008)

Beim Ausführen muss der Classpath natürlich auch mit angegeben werden ...


----------



## Arnold19999 (13. Feb 2008)

Dann bekomme ich folgende Fehlermeldung:

Exception in thread "main" java.lang.NoClassDefFoundError: Account02


----------



## The_S (13. Feb 2008)

Dann wird die Klasse Account02 wohl nicht gefunden. Wie schaut dein Aufruf aus, der die Datei startet? Wo liegt die Account02-CLASS (nicht .java) Datei?


----------



## Gast (13. Feb 2008)

mein aufruf lautet wie folgt:

D:\Eclipse Projekte\Account02\src>java -classpath "D:\Eclipse Projekte\Account02\src\postgresql-8.2-504.jdbc2.jar" Account02 2008-01-01 2008-02-01 //10.0.0.0/name

Ne idee??


----------



## The_S (13. Feb 2008)

und welche Dateien befinden sich alle in deinem src-ordner?


----------



## Arnold19999 (13. Feb 2008)

folgende Dateien:

Account02.class
Account02.java
postgresql-8.2-504.jdbc2.jar


----------



## The_S (13. Feb 2008)

Ach sry. Du musst natürlich dann auch noch das akutelle Verzeichnis mit angeben. Also 

java -classpath "D:\Eclipse Projekte\Account02\src\postgresql-8.2-504.jdbc2.jar";. Account02 2008-01-01 2008-02-01 //10.0.0.0/name 

Mein Fehler


----------



## Arnold19999 (13. Feb 2008)

Vielen Dank für deine Hilfe!

Läuft jetzt einwandfrei..!


----------

