# Probleme mit Datenbankwechsel



## Ceene (6. Mrz 2008)

Hallo werte Community

Ich habe ein kleines Problem mit meinem Bean. Das Bean iste in EJB3.0 und greift auf die Standart-Datenbankvon JBoss zu (Hypersonic). 

Nun möchte ich aber gerne auf eine Oracle-Datenbank wechseln.
Dazu habe ich im JBoss mit der Datei "oracle-ds.xml" die Datenbank bekanntgemacht
Die Datei sieht wie folgt aus (ich hoffe sie ist korrekt, da ich sie von einem Beispiel habe):

```
<?xml version="1.0" encoding="UTF-8"?>













<datasources>
  <local-tx-datasource>
    <jndi-name>OracleDS</jndi-name>
    <connection-url>jdbc:oracle:thin:@192.168.0.10:1521:HW10</connection-url>
	<!--

		Here are a couple of the possible OCI configurations.
		For more information, see [url]http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/java.920/a96654/toc.htm[/url]

	<connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>
		or
	<connection-url>jdbc:oracle:oci:@(description=(address=(host=youroraclehost)(protocol=tcp)(port=1521))(connect_data=(SERVICE_NAME=yourservicename)))</connection-url>

		Clearly, its better to have TNS set up properly.
	 -->
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>****</user-name>
    <password>****</password>
    
    
    
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
        <!-- sql to call when connection is created
        <new-connection-sql>some arbitrary sql</new-connection-sql>
        -->

        <!-- sql to call on an existing pooled connection when it is obtained from pool - the OracleValidConnectionChecker is prefered
        <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
        -->

      
      <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>
  </local-tx-datasource>

</datasources>
```

Dann habe ich in meinem Bean in der Datei "persistence.xml" die Datenbank angegeben.

```
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
		http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
	version="1.0">
	<persistence-unit name="hwsoft">
		<jta-data-source>java:OracleDS</jta-data-source>
	</persistence-unit>
</persistence>
```

Danach hab ich alle neu gepackt und auf den JBoss gestellt, aber leider geht es so nicht wirklich. Im iNet habe ich leider auch keine Beschreibung oder andere Hilfe gefunden, so wende ich mich nun an euch in der Hoffnung hier hilfe zu finden.

Was habe ich vergessen oder falsch gemacht???


----------



## ms (6. Mrz 2008)

Fehlermeldung?

ms


----------



## Ceene (6. Mrz 2008)

LOL

Ich schmeiß mich weg. Jetzt geht es. Keine Ahnung warum. Ich habe einfach nochmal alles neu zusammengepackt und jetzt geht es.

Tut mir leid für den nun sinnlosen Thread.


----------



## Ceene (6. Mrz 2008)

Allerdings wenn ich den Server über den Befehl "run -b 192.168.0.11" starte bekomme ich die Fehlermeldung

```
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: AdresseVerwaltenBean not bound
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

javax.servlet.ServletException: AdresseVerwaltenBean not bound
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
	org.apache.jsp.web.AdresseVerwaltung_jsp._jspService(AdresseVerwaltung_jsp.java:126)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

javax.naming.NameNotFoundException: AdresseVerwaltenBean not bound
	org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
	org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
	org.jnp.server.NamingServer.getObject(NamingServer.java:543)
	org.jnp.server.NamingServer.lookup(NamingServer.java:267)
	org.jboss.ha.jndi.TreeHead.lookupLocally(TreeHead.java:296)
	org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:215)
	org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:155)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:258)
	$Proxy98.lookup(Unknown Source)
	org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
	org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
	javax.naming.InitialContext.lookup(InitialContext.java:392)
	org.apache.jsp.web.AdresseVerwaltung_jsp._jspService(AdresseVerwaltung_jsp.java:82)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
```

Was bedeutet das?


----------



## Ceene (6. Mrz 2008)

MMMHHHH

Jetzt geht es plötzlich wieder nicht.

Er sagt jetzt:


```
16:26:30,875 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
16:26:30,890 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource
16:26:30,890 WARN  [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Failed to register driver for: oracle.jdbc.driver.OracleDriver; - nested throwable: (java.lang.ClassNotFoundException: No ClassLoaders found for: oracle.jdbc.driver.OracleDriver))
	at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:177)
	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:539)
	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:228)
	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:417)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:324)
	at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:301)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:379)
	at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
	at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
	at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:73)
........
```

Wie kann ich denn den Treiber registrieren?


----------



## ms (6. Mrz 2008)

classes12.jar/.zip in den Classpath, z.B. ins server/default/lib Verzeichnis.

ms


----------



## Ceene (7. Mrz 2008)

Hab ich das richtig verstanden wenn ich den z.B. oracle5.jar Treiber bekanntmachen will, pack ich ihn in das Verzeichniss lib des zu startenden JBoss-Servers bei mir "default"?


----------



## Ceene (7. Mrz 2008)

Vielen Dank nun geht es.


----------

