Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Datasource in Tomcat

Posted on 2006-07-13
15
Medium Priority
?
900 Views
Last Modified: 2013-11-24
Can anyone help me create a datasource in Tomcat? I'm running version 5.5.9, the one included with Netbeans 5.0

I've followed http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html

Here's my server.xml

<Resource name="jdbc/publicommon" auth="Container"
    type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@peanut:1521:pad"
    username="***" password="***" maxActive="20" maxIdle="10"
    maxWait="-1"/>

My web.xml

      <resource-ref>
            <description>PCT Datasource</description>
            <res-ref-name>jdbc/publicommon</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
      </resource-ref>


Yet I still get

java.lang.ExceptionInInitializerError: Could not find datasource



Honestly, if I could line up the tomcat devs......... it's unreal trying to get this thing working.
0
Comment
Question by:cormierg1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
  • 3
15 Comments
 
LVL 35

Expert Comment

by:girionis
ID: 17099009
How do you retrieve the datasource? Try changing the name to somethign that does not contain / and try again
0
 

Author Comment

by:cormierg1
ID: 17099081
It's with Hibernate.

String datasourceName = "jdbc/publicommon";
toolConfiguration.setProperty("hibernate.connection.datasource", datasourceName);


I've had no issues with the slash in Websphere, and all the online documents use one as well..
0
 
LVL 35

Expert Comment

by:girionis
ID: 17099153
Ok I see. Your config code looks file. What is the toolConfiguration?
0
Setting up LaraDock for Laravel

Learn how to set up LaraDock in a Laravel project - LaraDock gives us an easy way to run a Laravel application using Docker in a single command.

 
LVL 8

Expert Comment

by:colr__
ID: 17099155
Are you coding doing this manually? Netbeans will generate all the code you need to make the connection, if thats any use. As long as you have the datasource listed in the runtime panel, then right click in your source code and select 'use datasource' or something like that.
0
 

Author Comment

by:cormierg1
ID: 17099160
Yes, I am coding all of this manually.
0
 
LVL 8

Expert Comment

by:colr__
ID: 17099190
Could you try doing it via netbeans and check the code it produces? Its quite concise, so its a good starting point to have a working version. In future projects, youll find it a lot easier using netbeans to do this kind of plumbing for you anyway. When I started with this kind of stuff I found myself banging my head against my desk so often, because I couldnt get the 'simple' examples to work. In the end I started using the automated tools via the IDE I was using - the time I spent banging my head made me understand enough about the whole process in general though to go in and make changes to the XML etc.
0
 

Author Comment

by:cormierg1
ID: 17099200
How do I do this?

Under runtime I've added my Oracle driver, and added a database to my database tab but I see no option to include it as a datasource.
0
 

Author Comment

by:cormierg1
ID: 17099357
I might be one step closer...


Caused by: java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getDriver(DriverManager.java:243)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
        ... 26 more


Where do I put my ojdbc14.jar? I tried

netbeans/enterprise2/jakarta-tomcat-5.5.9/common/lib
and
netbeans/enterprise2/jakarta-tomcat-5.5.9/server/lib

but it still doesn't pick it up?
0
 
LVL 35

Expert Comment

by:girionis
ID: 17099519
Try a different driver. The ojdbc is probably for the odbc bridge.
0
 

Author Comment

by:cormierg1
ID: 17099570
No, ojdbc14.jar is the Oracle JDBC driver.

ojdbc14.jar
Classes for use with JDK 1.4. It contains the JDBC driver
classes, except classes for NLS support in Oracle Object and
Collection types.
0
 
LVL 35

Expert Comment

by:girionis
ID: 17099603
Then the driver url is wrong. Are you sure you can connect with this form of url: jdbc:oracle:thin:@peanut:1521:pad ?
0
 

Author Comment

by:cormierg1
ID: 17099798
Yes. This is the same connection URL my Websphere datasource uses and it works perfectly.
0
 
LVL 35

Expert Comment

by:girionis
ID: 17099864
Try to register the driver: Class.forName("oracle.jdbc.OracleDriver"); if you have access to the initialization code.
0
 
LVL 8

Accepted Solution

by:
colr__ earned 300 total points
ID: 17099865
With your driver and database visible in the runtime tab on Netbeans, right click somewhere in your code and select 'Enterprise resopurces > Use database'. This will propbably only work in a sertvlet or EJB, as you shouldnt really be using databases from JSPs (although you can use the same code you use in a servlet once Netbeans has generated it.
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
A solution for Fortify Path Manipulation.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Suggested Courses

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question