# JDBC Mysql Connection Problem - datasource null



## spoofs (27. Mrz 2007)

hallo leute,

ich werd noch bekloppt...ich versuche seit stunden eine verbindung zu meiner mysql db herzustellen und schaffe es nicht. von netbeans aus über das database explorer module geht es ohne probleme nur aus meiner webanwendung heraus nicht.

ich nutze tomcat 5.5 mit struts, der mysql-connector treiber liegt in der common/lib vom tomcat

so habe ich alles eingestellt...
In meiner SQL klasse:

```
public static Connection getConnection() throws  NamingException, SQLException{
		
		Context envCtx = (Context) new InitialContext().lookup("java:comp/env");

		// Look up our data source
		DataSource datasource =  (DataSource) envCtx.lookup("jdbc/ForumDB");
		return datasource.getConnection();     <<--hier kriegt er immer null
	}
```

die Context.xml:

```
<ResourceLink name="jdbc/ForumDB" 
		type="javax.sql.DataSource"
		auth="Container"
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost:3306/Forum"
		username="user"
		password="geheim"
		maxWait="30"
		maxActive="30"
		maxIdle="10"/>
```

die Web.xml:

```
<resource-ref>
	    <description>DB Connection</description>
	    <res-ref-name>jdbc/ForumDB</res-ref-name>
	    <res-type>javax.sql.DataSource</res-type>
	    <res-auth>Container</res-auth>
        </resource-ref>
```


hier der Stacktrace:

```
java.lang.NullPointerException
	com.jspforum.sql.SQLConnectionFactory.getConnection(SQLConnectionFactory.java:50)
	com.jspforum.sql.SQLConnectionFactory.getForums(SQLConnectionFactory.java:57)
	com.jspforum.actions.BuildPageAction.execute(BuildPageAction.java:37)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
```

Ich weiß echt nicht mehr weiter...wenn ich ne verbindung zu postgresql mache geht es ohne probleme...seht ihr nen fehler?

danke,
spoofs...verzweifelt  :cry:


----------



## KSG9|sebastian (28. Mrz 2007)

Wo lieg die context.xml? 
Trag mal in die server.xml die App mit dem Resource-Ref ein.


----------



## spoofs (28. Mrz 2007)

hallo,

die context.xml liegt da wo sie hingehört unter META-INF...ich habs auch schon in der server.xml versucht...es ist zum heulen.
ich nutze das selbe bei ner anderen webapp nur mit postgresql und da geht es ohne probleme...ich war mal ein wenig bei  sun unterwegs und da haben massig leute das selbe problem. das kann doch nicht so schwer sein...

ich sehe den fehler einfach nicht...

irgendwas stimmt hier nicht, wenn da immer null zurückkommt:
DataSource datasource =  (DataSource) envCtx.lookup("jdbc/ForumDB"); 

spoofs


----------



## Guest (28. Mrz 2007)

hallo,

kann es vielleicht sein, dass es daran liegt das ich in der Context.xml <ResourceLink... statt <Resource... angeben?
Ich kann das leider erst heute abend daheim testen...aber es wurmt mich total...


ich wollte das ganze gerne im Context lassen, denn die DB Connection soll nicht serverweit gelten, wenn die anwendung zum einsatz kommt....

gruß,
spoofs


----------

