# Verbindung zu einer Datenbank



## PollerJava (23. Jul 2007)

Hallo,


Ich versuche, eine verbindung zu einer Datenbank zu bekommen, weiß aber nicht so recht, wies funktioniert,

Ich möchte mich mit folgender Klasse mit der Datenbank verbinden bekomme aber untere Fehlermeldung:


```
public final class JankDataSource
{
  static public void main (String args[]) throws Exception
  {   
	org.firebirdsql.pool.FBWrappingDataSource dataSource = 
        new org.firebirdsql.pool.FBWrappingDataSource();

  
    dataSource.setDatabase ("localhost/3050:c:/database/test_charset.fdb");
    dataSource.setDescription ("An example database of employees");
 dataSource.setType("TYPE4");
  
    dataSource.setEncoding("ISO8859_1");
    
   
    try {
      dataSource.setLoginTimeout (10);
      java.sql.Connection c = dataSource.getConnection ("sysdba", "masterkey");
      
      java.sql.Statement stmt = c.createStatement();
      java.sql.ResultSet rs = stmt.executeQuery("SELECT * FROM test_charset");
      while(rs.next())
          System.out.println("a1 = " + rs.getString(1) + ", a2 = " + rs.getString(2));
          
      stmt.close();
      
    
      System.out.println ("got connection");
      c.close ();
    }
    catch (java.sql.SQLException e) {
		e.printStackTrace();
      System.out.println ("sql exception: " + e.getMessage ());
    }
  }
}
```


Bekomme aber folgende Fehlermeldung:


```
Exception in thread "main" java.lang.NoClassDefFoundError: javax/resource/Referenceable
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
```


----------



## abollm (23. Jul 2007)

Die Fehlermeldung deutet darauf hin, dass der verlangte Treiber nicht vorhanden ist.

Hast du denn die richtige Jaas.jar für deine FB-DB eingebunden?


----------



## PollerJava (23. Jul 2007)

ja hab ich,

jetzt bekomme ich folgende fehlermeldung:


```
Exception in thread "main" java.lang.NullPointerException
        at org.firebirdsql.pool.FBPooledDataSourceFactory.createFBConnectionPoolDataSource(FBPooledDataSourceFactory.java:74)
        at org.firebirdsql.pool.FBWrappingDataSource.getPool(FBWrappingDataSource.java:174)
        at org.firebirdsql.pool.FBWrappingDataSource.setDatabase(FBWrappingDataSource.java:583)
        at net.queck.ppos.datenbank.JankDataSource.main(DataSource.java:33)
```


Keine Ahnung was das für eine NPE ist. 
Weiß da vielleicht jemand was dazu?


lg


----------



## abollm (23. Jul 2007)

Stimmt der Pfad für die GDB überein?
Kommst du mit einem gängigen Tool auf die DB?


----------



## PollerJava (23. Jul 2007)

ja, ich hab ja schon einige Tabellen angelegt (über die Konsole halt)

vielen Dank für die Antworten!!

lg


----------



## abollm (23. Jul 2007)

PollerJava hat gesagt.:
			
		

> ja, ich hab ja schon einige Tabellen angelegt (über die Konsole halt)
> 
> vielen Dank für die Antworten!!
> 
> lg



Nur mal so zur Info:

Ich habe deinen Code einmal auf meine Firebid-DB "Help.Gdb" angesetzt und ...

... das Programm funktioniert einwandfrei.

Also musst du irgendeinen Fehler bei der Konfiguration etc. gemacht haben. Am Code liegt es definitiv nicht.

Hth


----------



## PollerJava (24. Jul 2007)

Dankeschön, jetzt funktionierts bei mir auch!!

lg


----------

