Keine Verbindung zu HSQLDB möglich

Status
Nicht offen für weitere Antworten.
C

ceyx

Gast
Ich möchte via eclipse auf eine OO Base Datenbank (HSQLDB) zugreifen. Ich habe die hsqldb.jar Datei bereits dem Build Path hinzugefügt. Nun habe ich mich mit

Class.forName("org.hsqldb.jdbcDriver");
con = DriverManager.getConnection("jdbc:hsqldb:file:F:/DB Projekt");

zur DB verbunden. Das einzige was ich davon lesen kann sind aber nur die Schemata INFORMATIONS_SCHEMA und PUBLIC. Diese kann ich auch lesen wenn ich die DB aus dem Verzeichnis DB Projekt entferne --> keine Verbindung aufgebaut.

Weiß jeamand was ich falsch mache?
 

sparrow

Top Contributor
Komme keine Fehlermeldungen?

Fehlt bei der Beschaffung der Connection nicht noch User und Passwort?


con = DriverManager.getConnection("jdbc:hsqldb:file:F:/DB Projekt", "user", "passwort");
 
C

ceyx

Gast
Ich habe nie einen User angelegt, darum dachte ich, dass es ohne auch geht. Ausserdem habe ich es bei einer Access DB auch ohne user und pwd hinbekommen.
 

sparrow

Top Contributor
Dann zeig doch bitte mal den Inhalt von F:\DB Projekt, vielleicht hat die Datenbank ja auch einen Namen?
 
C

ceyx

Gast
Ich habs schon mit
con = DriverManager.getConnection("jdbc:hsqldb:file:F:/DB Projekt/myDB.odb");
probiert, hat leider auch nicht funktioniert.
 
T

tuxedo

Gast
AFAIK ist ODB genau wie ODT ein gezipptes Format das die eigentlichen Daten enthält. Probier mal das Ding zu entpacken.

- ALex
 
C

ceyx

Gast
Ich habs jetzt die DB in das Verzeichnis test entpackt.
und den code auf

con = DriverManager.getConnection("jdbc:hsqldb:file:F:/DB Projekt/test/database/data");

geändert. Das Problem bleibt aber leider immer noch.
 
T

tuxedo

Gast
Fehlermeldungen? HSQLDBs, die keinen expliziten Passwortschutz haben, benutzen, glaube ich, "sa" als Usernamen und "" als Passwort (also nix).

- Alex
 
C

ceyx

Gast
Ich habe keine Fehlermeldungen (was irgendwie merkwürdig ist) und mit dem user sa hab ich auch schon probiert....
 
C

ceyx

Gast
Nach dem Statement
select * from emp;

kommt eine Fehlermeldung, dass die Tabelle nicht gefunden werden kann, der Pfad stimmt aber und die Tabelle existiert.

Was soll das?
 
T

tuxedo

Gast
ceyx hat gesagt.:
Nach dem Statement
select * from emp;

kommt eine Fehlermeldung, dass die Tabelle nicht gefunden werden kann, der Pfad stimmt aber und die Tabelle existiert.

Was soll das?
Probier mal:

Code:
SELECT * FROM PUBLIC.emp;

Vielleicht geht das ?!

- Alex
 
C

ceyx

Gast
Wird leider auch nicht gefunden. Ich habs jetzt mit allen möglichen Kombinationen mit dem user "sa" versucht, blieb aber leider auch ohne Erfolg.
 
T

tuxedo

Gast
Hmm, kennt HSQLDB denn kein "SHOW TABLES;" Befehl? Oder etwas in der Art?

Die Tabelle muss ja da sein...irgendwo ...

- Alex
 
C

ceyx

Gast
Ich habe mir alle Schemata aufzeigen lassen. Bei Oracle bin ich es gewohnt, dass die ganzen Tabellen in diesen zu finden sind. Gefunden werden jedoch keine...
 
T

tuxedo

Gast
Das ist äußerst seltsam. Nimm mal die Sources von HSQLDB dazu und debugg das ganze doch mal...

Oder hast du schon mal probiert eine HSQL-Datenbank zu benutzen/erstellen die nicht mit OO gebastelt wurde? Weil wenn das schon fehlschlägt, dann liegts an noch was ganz anderem.

BTW: HSQLDB liefert ein Tool mit, mit dem man die DB anschauen kann. Das könntest du auch mal testen.

- Alex
 
C

ceyx

Gast
das ist ja echt schräg. So funktioniert es. Also muss es an OO liegen, oder?
 
T

tuxedo

Gast
Vergleiche doch am besten mal die File die OO in ODB gezippt hat und das was du außerhalb OO produziert hast (sind ja lesbarer Text). Zum einen gibts da die DATA-Datei. Die beschreibt den Aufbau der Tabellen etc, und zum anderen gibts die Script-Datei, die den Inhalt der Tabellen bereit hält (hoffe ich habs jetzt nicht verdreht).

Beide Files sind mit einem Texteditor lesbar. Wenn Notepad den Zeilenumbruch nicht gebacken kriegt, benutze doch WordPad oder einen anderen Editor der das auf die Reihe kriegt (Notepad++ oder Ultraedit oder sonst irgendwas).

Vielleicht fällt dir ja beim vergleichen der Files auf woran es hängt.

Kannst ja auch zwei Minimalbeispiele posten.

- Alex
 
C

ceyx

Gast
Jetzt kann ich mir die Werte sogar rauslesen wenn ich im Connection String die .odt Datei angebe, aber nur jene die ich über hsql eingegeben habe. Im OO Base kann ich nur die Werte lesen die ich im Base eingegeben habe.
 
C

ceyx

Gast
Danke für den guten Tipp. Ich glaube ich habe den Fehler gefunden: Base hat nämlich keine .script datei erstellt. HSQL speichert in dieser Datei die div. Befehle (Tabelle erstellen, befüllen).
Vielleicht hat auch eclipse immer nach dieser .script datei gesucht. Jetzt müsste ich es so hinkriegen wie ich mir das vorstelle...

Ich möchte mich herzlichst für deine Ausdauer und Mühe bedanken
 

Heady86

Bekanntes Mitglied
Hab momentan das gleiche Problem, deshalb hab ich keinen neuen Thread aufgemacht.

Ich wollt ein Beispiel ausm Inselbuch testen aber ich bekomm auch die Meldung:
java.sql.SQLException: Table not found in statement [SELECT * FROM Person]
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
at Main.main(Main.java:35)

Die Script Datei ist bei mir aber vorhanden, daran liegt es nicht und mit Public hab ich auch schon versucht..

Hier mal der Code:

Java:
import java.text.ParseException;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Main
{

	
	  public static void main( String[] args ) 
	  { 
	    try 
	    { 
	      Class.forName( "org.hsqldb.jdbcDriver" ); 
	    } 
	    catch ( ClassNotFoundException e ) 
	    { 
	      System.err.println( "Keine Treiber-Klasse!" ); 
	      return; 
	    } 
	 
	    Connection con = null; 
	 
	    try 
	    { 
	      con = DriverManager.getConnection( "jdbc:hsqldb:file:C:\\....\\database", "sa", "" ); 
	      Statement stmt = con.createStatement(); 
	 
	 
	      ResultSet rs = stmt.executeQuery( "SELECT * FROM Person" ); 
	 
	      while ( rs.next() ) 
	        System.out.printf( "%s, %s %s%n", rs.getString(1), 
	                           rs.getString(2), rs.getString(3) ); 
	 
	      rs.close(); 
	 
	      stmt.close(); 
	    } 
	    catch ( SQLException e ) 
	    { 
	      e.printStackTrace(); 
	    } 
	    finally 
	    { 
	      if ( con != null ) 
	        try { con.close(); } catch ( SQLException e ) { e.printStackTrace(); } 
	    } 
	  } 
	}
 

Heady86

Bekanntes Mitglied
Nabend,
ich hab jetzt nochmal rumprobiert und es mal mit einer Access DB versucht, allerdings bekomm ich hier ne andere Fehlermeldung ;(

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Ungültiger Deskriptorindex
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLColAttributes(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getColAttribute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getColumnType(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getMaxCharLen(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at DBase.main(DBase.java:35)


Im Code nutze ich:

Java:
...
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
...
con = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Users/Heady/Desktop/testdb.mdb","","" );
......

Schönes Weekend
 

Heady86

Bekanntes Mitglied
Niemand eine Idee :noe: es muss doch schonmal jemand ne odb oder access datenbank erfolgreich abgefragt haben :oops:

Entweder kommt obige Fehlermeldung bei einer access datenbnk oder aber das hier oder das hier bei einer odb

Grüße
 
Zuletzt bearbeitet:

Heady86

Bekanntes Mitglied
Hi,

falls mal jemand das selbe Problem hat und der Vollständigkeit halber.
Wenn mal wieder jemand diese Fehlermeldung hat:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Ungültiger Deskriptorindex
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLColAttributes(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getColAttribute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getColumnType(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getMaxCharLen(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at DBase.main(DBase.java:35)

dann liegt das in dem Bereich:

Java:
  while ( rs.next() ) 
		   System.out.printf( "%s %s%n", rs.getString(1), rs.getString(2));
und zwar wenn man eine Spalte angibt die es in der Tabelle nicht gibt.
z.B hab ich 2 spalten, wenn ich jetzt aber
Java:
rs.getString(3)
eingebe kommt obige Fehlermeldung. Viel Spaß
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Kann keine Verbindung mit HSQLDB aufbauen Datenbankprogrammierung 2
raptorrs Plötzlich keine Verbindung zur Datenbank mehr möglich Datenbankprogrammierung 14
V keine Verbindung möglich (Access-DB) Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
S DB2 Express C - keine Verbindung zur Datenbank Datenbankprogrammierung 2
I Es kann keine Verbindung zum Server aufgebaut werden Datenbankprogrammierung 12
W Keine ODBC-Verbindung zur MSAccess-Datenbank Datenbankprogrammierung 2
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
C keine Verbindung zur MS-SQL-Datenbank mehr Datenbankprogrammierung 4
Y Keine verbindung mit der Datenbank Datenbankprogrammierung 2
C Keine Verbindung Datenbankprogrammierung 12
I Nach export zur .jar keine verbindung mehr Datenbankprogrammierung 7
K keine Verbindung zu mysql Datenbank Datenbankprogrammierung 11
H Kann keine Verbindung zur DB herstellen Datenbankprogrammierung 7
G linux mysql keine verbindung Datenbankprogrammierung 8
I H2 - GUI Tool.... sehe aber keine Tabellen Datenbankprogrammierung 2
Z Ein haufen Fehlermeldungen aber keine Ahnung warum... Datenbankprogrammierung 9
Z Ein Haufen Fehlermeldungen und keine Ahnung... (H2 DB mit Intellij und Scene Builder ) Datenbankprogrammierung 16
OnDemand Select * from bringt keine Rückgabe Datenbankprogrammierung 49
Kirby.exe Es werden keine Einträge in der Datenbank gemacht Datenbankprogrammierung 23
J Jar-Datei stellt keine Datenbankverbindung her Datenbankprogrammierung 3
J keine Werte vom PHP Datenbankprogrammierung 3
H MySQL Datenbank auf Xampp nimmt keine Mediumblob an. Datenbankprogrammierung 0
D Keine Datenbankverbindung Datenbankprogrammierung 4
M Keine Antwort der Datenbank bei updateQUery(); Datenbankprogrammierung 2
J SQL-Statement Trigger zeigt keine Wikrung PL/SQL Datenbankprogrammierung 2
E Warum kann ich keine Datenbank mit DB2 erstellen? Datenbankprogrammierung 2
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
T JAR keine H2 driver? Datenbankprogrammierung 3
B Mysql speichert keine 0 alls String Datenbankprogrammierung 11
D Keine Einträge in die Datenbank Datenbankprogrammierung 5
E Derby/JavaDB Keine Reaktion von "insert into" im ActionListener Datenbankprogrammierung 22
Kenan89 Keine Datenbankverbindung möglich Datenbankprogrammierung 52
E JDO -> keine Maps Datenbankprogrammierung 2
D SQLite Statement nimmt keine Namen aus getter-Methoden Datenbankprogrammierung 11
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
C Derby/JavaDB JavaDB: Keine Connection Datenbankprogrammierung 7
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
K Keine ResultSet bei if in StoredProcedure Datenbankprogrammierung 16
C MySQL Keine Datenbankverbindung Datenbankprogrammierung 6
André Uhres SQL Abfrage erkennt keine Buchstaben mit Akzenten (z. B. é, è) Datenbankprogrammierung 3
P Hibernate -> SQL verwenden und keine Entity Datenbankprogrammierung 19
B Es werden keine Tupel in Tabellen abgelegt Datenbankprogrammierung 2
M Keine doppelten Datensätze einfügen Datenbankprogrammierung 24
D Keine Ausgabe der Daten Datenbankprogrammierung 3
B JDBC txt File keine Row ID Datenbankprogrammierung 4
J JDBC - setAutoCommit(false) hat keine wirkung? Datenbankprogrammierung 2
S ResultSet enthält keine Daten Datenbankprogrammierung 2
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
P Es werden keine Daten mehr in die Tabelle eingefügt Datenbankprogrammierung 4
A Fehlermeldung: Keine Daten verfügbar Datenbankprogrammierung 2
M Hilfe - keine Connection zur DB Datenbankprogrammierung 4
G Keine Aussicht mit Prepared Statement Datenbankprogrammierung 10
I Kann keine Daten aus ResultSet holen ? Datenbankprogrammierung 11
J Keine Connection zur MySQL Db Datenbankprogrammierung 6
I Keine Treiber-Klasse! Datenbankprogrammierung 9
W Keine leeren Felder bei Access Datenbankprogrammierung 15
M Bekomme keine Daten in die DB! Datenbankprogrammierung 11
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
OnDemand SSL Verbindung zu externer DB Datenbankprogrammierung 5
C MySQL Remote Verbindung zu MariaDB Datenbankprogrammierung 11
M SQL , CSV Verbindung : Zu Umfangreicher Code durch Unwissenheit Datenbankprogrammierung 21
P Verbindung zu einer Access Datenbank per Eclipse oder Intellij Datenbankprogrammierung 0
Z Beim schließen des Programms die verbindung zur DB beenden. Datenbankprogrammierung 4
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
M Oracle SQLException: Verbindung getrennt Datenbankprogrammierung 2
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
C Verbindung mit SQLExpress Datenbankprogrammierung 9
S E(fx)clipse Verbindung zu MS SQL Express aufbauen Datenbankprogrammierung 7
M H2 Verbindung zur Datenbank komplett schließen Datenbankprogrammierung 11
F MySQL Verbindung zum SQL-Server Datenbankprogrammierung 27
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
C datenbank verbindung config Datenbankprogrammierung 23
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
J Verbindung aufbauen Datenbankprogrammierung 7
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
S Auslagern der Datenbank Verbindung Datenbankprogrammierung 2
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
D NullPointerException bei DB Verbindung Datenbankprogrammierung 6
AssELAss Verbindung i5 Series 7.1 / 7.2 (DB2) mit Oracle SQL Developer Datenbankprogrammierung 3
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
M MySQL Verbindung zum Server aufbauen ohne DB ansprechen Datenbankprogrammierung 2
D Java MS Access Verbindung Datenbankprogrammierung 10
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
A Verbindung mit Access 2007 Datenbank herstellen Datenbankprogrammierung 1
I Datenbank Verbindung geht nicht Datenbankprogrammierung 2
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
1 MySQL Verbindung mit localhost als IP funktioniert, aber mit normaler IP nicht Datenbankprogrammierung 2
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
Helgon H2 Verbindung öffnen/schließen - Dauer, wann, wie lange? Datenbankprogrammierung 2
J Verbindung zu Access Datenbank Datenbankprogrammierung 15
J Verbindung zu Datenbank herstellen Datenbankprogrammierung 26
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
T MySQL Sichere Verbindung Datenbankprogrammierung 6
T MySQL Kann Verbindung zur MySQL Datenbank nicht herstellen. Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben