Ich versuche eine ACCESS-DB (kundendatenbank) als ODBC-Datenquelle an den JNDI von JBoss zu binden.
Dazu habe ich im Deploy-Verzeichnis von JBoss folgenden Eintrag in die Konfigurationsdatei gemacht:
..
<datasources>
<local-tx-datasource>
<jndi-name>kundendatenbank</jndi-name>
<!-- format of URL is "jdbcdbcSNNAME" -->
<connection-url>jdbcdbc:kundendatenbank</connection-url>
<driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
<user-name></user-name>
<password></password>
</local-tx-datasource>
</datasources>
...
Diese wird auch beim Deploy des JBoss gelesen und es kommt folgende Meldung:
...
INFO [WrapperDataSourceService] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:name=kundendatenbank,service=DataSource Binding to JNDI name 'java:kundendatenbank'
...
Das klingt zunächst mal gut, aber dann versuchte ich einen lookup aus Java:
....
Hashtable env = new Hashtable();
// Setzen der JBoss JNDI-Factory
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
// URL des Namensdienstes (JBoss-Standard-Port: 1099)
env.put(Context.PROVIDER_URL, "localhost:1099");
// Konfiguration der URL Package Präfixe
env.put(Context.URL_PKG_PREFIXES,
"org.jboss.namingrg.jnp.interfaces");
Context ctx = new InitialContext(env);
// Extrahieren der DataSource
DataSource datasource =(DataSource)ctx.lookup("kundendatenbank");
...
und bekomme folgende Fehlermeldung:
"javax.naming.NameNotFoundException: kundendatenbank not bound"
Muss ich im Suchstring des lookups noch irgendein Prefix voranschieben?
..ich habe schon alles probiert.
Oder muss die Konfigurationsdatei woanders stehen?
Übrigens: Mit der Access Datenbank muss alles in Ordnung sein, den der Zugriff klappt einwandfrei über DriverManager.
Dazu habe ich im Deploy-Verzeichnis von JBoss folgenden Eintrag in die Konfigurationsdatei gemacht:
..
<datasources>
<local-tx-datasource>
<jndi-name>kundendatenbank</jndi-name>
<!-- format of URL is "jdbcdbcSNNAME" -->
<connection-url>jdbcdbc:kundendatenbank</connection-url>
<driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
<user-name></user-name>
<password></password>
</local-tx-datasource>
</datasources>
...
Diese wird auch beim Deploy des JBoss gelesen und es kommt folgende Meldung:
...
INFO [WrapperDataSourceService] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:name=kundendatenbank,service=DataSource Binding to JNDI name 'java:kundendatenbank'
...
Das klingt zunächst mal gut, aber dann versuchte ich einen lookup aus Java:
....
Hashtable env = new Hashtable();
// Setzen der JBoss JNDI-Factory
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
// URL des Namensdienstes (JBoss-Standard-Port: 1099)
env.put(Context.PROVIDER_URL, "localhost:1099");
// Konfiguration der URL Package Präfixe
env.put(Context.URL_PKG_PREFIXES,
"org.jboss.namingrg.jnp.interfaces");
Context ctx = new InitialContext(env);
// Extrahieren der DataSource
DataSource datasource =(DataSource)ctx.lookup("kundendatenbank");
...
und bekomme folgende Fehlermeldung:
"javax.naming.NameNotFoundException: kundendatenbank not bound"
Muss ich im Suchstring des lookups noch irgendein Prefix voranschieben?
..ich habe schon alles probiert.
Oder muss die Konfigurationsdatei woanders stehen?
Übrigens: Mit der Access Datenbank muss alles in Ordnung sein, den der Zugriff klappt einwandfrei über DriverManager.
Comment