JSP und Tomcat - Zugriff auf Oracle DB 10g

javad

Grünschnabel
Hallo

habe eine Web-Application, in der jsp über Tomcat-Server auf Oracle 10g
zugreifen soll.

Ich weiß, daß man in Tomcat die server.xml (Webserver-Konfigurationsdatei)
und die web.xml (Konfigurationsdatei der Web Application) ergänzen muß und im
Tomcat Administrator die JNDI Quelle einträgt (hier jdbc/ftbox)

Ich habe es bisher so gelöst (ftbox ist die Application, FPROD die Datenbank Instanz):

1) Ergänzen in server.xml/Sektion <GlobalNamingResources>

<Resource name="jdbc/ftbox" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:eek:racle:thin:mad:127.0.0.1:1521:FPROD"
username="ftbox" password="ftbox"
maxActive="10" maxIdle="2" maxWait="-1"
validationQuery="select 1 from dual"/>

2) Einfügen in Context der WEB-Application

<ResourceLink
global="jdbc/ftbox"
name="jdbc/ftbox"
type="javax.sql.DataSource"/>

3) Kode zum Holen der Connection in Java Klasse

private Connection getConnection() throws Exception {

if (ds == null) {
InitialContext ic = new InitialContext();
ds = (DataSource) ic.lookup("java:comp/env/jdbc/ftbox");
}
return ds.getConnection();
}

Es kommt jedoch keine Verbindung zur Datenbank zustande.
(Datenbank ist ok, wird schon verwendet). Fehlt hier noch etwas ?

Gruß und Danke
 
Hallo,

hatte vor kurzem das selbe Problem.
Habe es mit folgenden Einstellungen aber hinbekommen (an deine Optionen angepasst):

Server.xml im Originalzustand belassen.

Web.xml folgende Einträge einfügen:
Code:
  	<resource-ref>
	 <description>Oracle Datasource example</description>
	 <res-ref-name>jdbc/ftbox</res-ref-name>
	 <res-type>oracle.jdbc.pool.OracleDataSource</res-type>
	 <res-auth>Container</res-auth>
	 <res-sharing-scope>Shareable</res-sharing-scope>
	</resource-ref>

Die Context.xml folgendes eintragen:
Code:
    <Resource name="jdbc/ftbox"
              type="oracle.jdbc.pool.OracleDataSource"
              factory="oracle.jdbc.pool.OracleDataSourceFactory"
              url="jdbc:oracle:thin@127.0.0.1:1521:FPROD"
              driverClassName="oracle.jdbc.OracleDriver"
              username="ftbox" password="ftbox"
              auth="Container"
              maxActive="100"
              maxIdle="30"
              maxWait="10000"
              logAbandoned="true"
              removeAbandoned="true"
              removeAbandonedTimeout="60" />

Ich würde empfehlen das ganze in Eclipse umzusetzen. Da kannst du deinen Code auch debuggen.

Gruss
Rafael
 

Neue Beiträge

Zurück