• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

JBOSS DataSource/Tomcat App - Unable to get connection, DataSource invalid

 
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Let me first say what i am using...i am running Jboss 4.0.2 under windows with Apache Tomcat/5.5.9.

I am trying to deploy an JSTL application under tomcat that uses a data datasource defined in oracle-ds.xml.

Here is the steps I took...

1) Edited E:\Java\jboss-4.0.2\server\default\deploy\oracle-ds.xml

<local-tx-datasource>
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc racle:thin:@xxx.ad.bgs.ac.uk:1521:xx</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>xxx</user-name>
<password>xxx</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
</local-tx-datasource>

2) Copied the Oracle Database drivers to E:\Java\jboss-4.0.2\server\default\lib\classes12.jar

3) I edited the file E:\Java\jboss-4.0.2\server\default\deploy\jbossweb-tomcat55.sar\server.xml and added the following line...

<Context path="/master" docBase="E:\Java\MasterContext" debug="1"></Context>

I know that works as I can access a basic JSP page with JSTL.

4) So far so good. Everything seems fine with the DataSource as I have deployed a J2EE app that uses it and it works fine...here is a quick snippet from the

<jbosscmp-jdbc>
<defaults>
<datasource>java:/OracleDS</datasource>
<datasource-mapping>Oracle8</datasource-mapping>
<create-table>false</create-table>
<remove-table>false</remove-table>
<read-only>true</read-only>
<pk-constraint>true</pk-constraint>
<preferred-relation-mapping>foreign-key</preferred-relation-mapping>
</defaults>

5) The problem happens when a try accessing a JSP page with the following JSTL code....dont think its the JSTL bit that's causing the problem

<sql:setDataSource var="Source"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc racle:thin:@xxx.ad.bgs.ac.uk:1521:xxx"
user="xxx" password="xxx" />

<sql:query var="courses" dataSource="${Source}">
SELECT ID, NAME, DESCRIPTION, ICON, SEQ FROM psg.BGS_DEVELOPERS_INDEX ORDER BY SEQ
</sql:query> <this works fine as i have explicitly defied the DataSource>

<sql:query var="courses2" dataSource="java racleDS">
SELECT ID, NAME, DESCRIPTION, ICON, SEQ FROM psg.BGS_DEVELOPERS_INDEX ORDER BY SEQ
</sql:query> <this is trying to use the DataSource defined oracle-ds.xml and doesnt work, see message below>

<c:forEach var="item" items="${courses.rows}">
<c ut value="${item.name}"/>
</c:forEach>


Error Message

javax.servlet.ServletException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.psg.JSTLExample_jsp._jspService(org.apache.jsp.psg.JSTLExample_jsp:103)
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:322)
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:81)
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic