Fehler beim Starten des Servers für H2 Database

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
Folgender Code:

Code:
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import org.h2.tools.Server;
 

/** Die Klasse Login stellt die Verbindung zur Datenbank her.*/
public class Login
{
	// Variablendeklaration für die gesamte Klasse
	public static Connection connection;
  	public static String lese, lese_dokumentation, lese_icd1, lese_icd2, lese_icd3;
  	public static Statement stmt, stmt1, stmt2, stmt3, stmt4;
  	public static ResultSet result, result_dokumentation, result_icd1, result_icd2, result_icd3;
        	
              
   	/******************************************************************

	Anmeldedialog mit Benutzernamen, Passort und DB-Namen

	******************************************************************/
	
	private static void login()
	{
		String[] s_options = {"Anmelden", "Abbrechen"};
		
		JPanel pnl_main = new JPanel();
		pnl_main.setLayout(new GridLayout(3,3,10,10));

                JLabel lbl_username = new JLabel("Benutzername: ", JLabel.RIGHT);
		JTextField txt_username = new JTextField();

		JLabel lbl_password = new JLabel("Passwort: ", JLabel.RIGHT);
		JPasswordField txt_password = new JPasswordField();


		pnl_main.add(lbl_username,0);
		pnl_main.add(txt_username,1);

		pnl_main.add(lbl_password,2);
		pnl_main.add(txt_password,3);

                
		if(JOptionPane.showOptionDialog(null, pnl_main,
				"DB-Anmeldung",
				JOptionPane.OK_CANCEL_OPTION,
				JOptionPane.INFORMATION_MESSAGE,
				null, s_options,
				s_options[0]) != 0)
				{
    				System.exit(0);
				}
	}


	/******************************************************************
	main-Methode

	******************************************************************/
	public static void main(String[] args)
	{
		

        // Aufruf des Dialogs zur Identifikation
            
        login();
        try
        {
        	Server server = Server.createTcpServer(args).start();
        	Class.forName("org.h2.Driver");
    		connection = DriverManager.getConnection("jdbc:h2:tcp:localhost/test", "sa", "");
    		lese = "Select * from p";
			stmt = connection.createStatement();
			result = stmt.executeQuery(lese.toString());
			
			lese_dokumentation = "Select * from d";
			stmt1 = connection.createStatement();
			result_dokumentation = stmt1.executeQuery(lese_dokumentation.toString());
			
			lese_icd1 = "Select * from i";
			stmt2 = connection.createStatement();
			result_icd1 = stmt2.executeQuery(lese_icd1.toString());
			
			}
		}
	    catch(Exception e)
	    {
	    	JOptionPane.showMessageDialog(null, "Es ist folgender Fehler aufgetreten: " + e,
				"DB-Meldung", JOptionPane.ERROR_MESSAGE);
			System.out.println(e);
	    }
        
        StartFrame frm = new StartFrame("BIK-BADO-KJPa");
		frm.setVisible(true);
		frm.setSize(400,400);
		frm.pack();
	}
}

Ich bekomme die Fehlermeldung, dass die Tabelle p nicht existiert. Gehe ich in die Weboberfläche, dann sehe ich die Tabelle p. Ich vermute mal, ich habe da was falsch gemacht mit dem Starten des Servers. Ich kann nämlich nicht sehen, dass der Server gestartet ist. Wer kann mir helfen?
 

The_S

Top Contributor
naja, wenn er sagt, dass er p nicht finden kann, dann sollte er schon mit der DB verbunden sein. Starte doch mal deinen Server manuel und schau, ob er die Tabelle dann findet.

btw: verwende mal ordentliche Namen. "p", "i" und "d" nennt man keine Tabellen.
 

Alex_winf01

Top Contributor
@ Hobbit_Im_Blutrausch

Danke schon mal für Deine Antwort. Natürlich heissen die Tabellen anders und nicht p, i. Das sind nur für das Forum Synonyme.

Also, wenn ich die Web-Oberfläche starte erscheint rechts in der Menüleiste das Ich mache dabei folgendes:

1. Folgende Zeilen auskommentieren:

Code:
import org.h2.tools.Server;
und
Code:
Server server = Server.createTcpServer(args).start();

2. Start, Programme, H2 (Console). Die Weboerfläche von H2 startet
3. meine Applikation starten. Tabellen werden gefunden und ich kann DS einfügen, bearbeiten, löschen und mir anzeigen lassen.

Nur sobald ich die Zeilen unter Punkt 1 wieder reinnehme und die Weboberfläche nicht starte, kann er die Tabellen nicht finden. Daher vermute ich, dass entweder der Server nicht startet oder die Verbindung zur DB nicht stimmt.
 

The_S

Top Contributor
Naja, die Verbindung zur DB muss stimmen, da du sonst auch bei manuellem Start des Servers keine Daten bekommen solltest.

Zeig uns doch mal die Server.createTcpServer(args).start() Klasse/Methoden.
 

Alex_winf01

Top Contributor
@ Hobbit_Im_Blutrausch

Die Zeile habe ich aus dem Handbuch. Dort steht nur, dass man den Server wie folgt starten kann:

Code:
Server server = Server.createTcpServer(args).start();

Die entsprechende Klasse liegt in der H2.jar (die muss ich über den JCreator eh einbinden wegen dem JDBC-Treiber). An den Code selber von createTCPServer(args) komm ich nicht ran. :roll:

EDIT:

Hier ist der Link dazu (Punkt Using the Server):

www.h2database.com/html/frame.html
 

The_S

Top Contributor
Was übergibst du denn für "args"? Und sicher, dass du den Server aus deinem Programm raus starten willst? Normalerweiße läuft ein Server immer und die Anwendungen verbinden sich nur mit ihm.
 

Alex_winf01

Top Contributor
Ich bin mir nicht genau sicher, was ich da übergeben muss. Hab es einfach mal so ausprobiert. In der Api steht:

static Server createTcpServer(String[] args) throws SQLException
Create a new TCP server, but does not start it yet. Example:

Server server = Server.createTcpServer(new String[]{"-tcpAllowOthers", "true"}).start();

Parameters:
args -
Returns:
the server
 

The_S

Top Contributor
Und eine Exception wird nicht geworfen? Wird der richtige Port verwendet? Und nach wie vor, warum willst du einen Server von deinem Programm aus starten?
 

Alex_winf01

Top Contributor
Es wird die Exception geworfen, dass die Tabellen nicht gefunden werden. URL passt.

Da ich solche Probleme habe, den Server aus der Anwendung zu starten, werde ich den Server wohl einmalig starten lassen (über eine .bat oder so was) und greife dann mit meiner Anwendung nur noch drauf zu.
 

The_S

Top Contributor
ja, das ist auch der übliche Weg ;) . Bzw. evtl. greift die Weboberfläche nicht auf die db "test" zu, sondern auf eine andere!? Versuch doch mal, ob du Tabellen aus Java heraus erstellen kannst.
 

Alex_winf01

Top Contributor
Ich kann aus meiner Anwendung heraus auch Tabellen anlegen, bearbeiten, löschen. Ich kann DS anlegen, bearbeiten, löschen, anzeigen lassen. Das funzt also.
 

HoaX

Top Contributor
wenn du h2 über start->programme startest ist wohl das arbeitsverzeichnis ein anderes -> du verwendest nicht die selbe datenbank
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
G Fehler beim Verbinden Datenbankprogrammierung 4
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
J Fehler beim PreparedStatement Datenbankprogrammierung 2
A Fehler beim Verbinden zur Oracle-DB Datenbankprogrammierung 6
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
jgh Zeichensatz-Fehler Datenbankprogrammierung 10
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Fehler im SQL ... Datenbankprogrammierung 8
J Fehler bei Hibernate Configuration Datenbankprogrammierung 9
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
D Primary-Key -> Fehler: "Unique constraint violation& Datenbankprogrammierung 12
E Fehler in der SQL-Anweisung Datenbankprogrammierung 11
A Fehler in der Datenbankklasse Datenbankprogrammierung 14
M insert befehl funzt nicht!wo ist der fehler? Datenbankprogrammierung 5
L komischer Fehler von ResultSet. Datenbankprogrammierung 2
R Fehler in Datenbankanbindung Servlet -> Access Datenbankprogrammierung 5
E Fehler bei String-Insert in MySQL-DB Datenbankprogrammierung 8
G Wo ist hier der Fehler (createStatement) Datenbankprogrammierung 2
M executeBatch() - Inserts trotz Fehler weitermachen Datenbankprogrammierung 5
W Fehler bei Insert Anweisung obwohl getestet Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben