[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tomcat-user
Subject:    Datasource configuration problem
From:       rao krishna <k_krishna_rao () yahoo ! com>
Date:       2006-03-31 17:13:17
Message-ID: 20060331171317.52810.qmail () web30913 ! mail ! mud ! yahoo ! com
[Download RAW message or body]


We configure datasource in tomcat 5.0 for oracle 9i.
but we stuck here....it is showing error.

we added in server.xml

<GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue"
type="java.lang.Integer" value="30"/>

    <!-- Editable user database that can also be used
by
         UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated
and saved">
    </Resource>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
       
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>
	
     <Resource name="jdbc/oracle-8i-athletes"
scope="Shareable" type="javax.sql.DataSource"
auth="Container" description="hOME.."/>

<ResourceParams name="jdbc/oracle-8i-athletes">
	<parameter>
		<name>driverClassName</name>
		<value>oracle.jdbc.driver.OracleDriver</value>
	</parameter>
	<parameter>
		<name>url</name>
	
<value>jdbc:oracle:thin:@172.30.24.52:1521:ppp</value>
	</parameter>
	<parameter>
		<name>username</name>
		<value>scott</value>
	</parameter>
	<parameter>
		<name>password</name>
		<value>tiger</value>
	</parameter>
</ResourceParams>
  </GlobalNamingResources>


And then in web.xml

<resource-ref>
<res-ref-name>jdbc/oracle-8i-athletes</res-ref-name>
<res-type>javax.sql.DataSouce</res-type>
<res-auth>Container</res-auth>
</resource-ref>

we also tried ....

we deleted
<Resource...../><ResourceParams.....></ResourceParams>
from server.xml 
and created a db.xml(webapps\db) in
conf\catalina\localhost\db.xml and pasted above like

<Context path="/db" docBase="db" debug="0"
privileged="true">

<Resource name="jdbc/oracle-8i-athletes"
scope="Shareable" type="javax.sql.DataSource"
auth="Container" description="hOME.."/>

<ResourceParams name="jdbc/oracle-8i-athletes">
	<parameter>
		<name>driverClassName</name>
		<value>oracle.jdbc.driver.OracleDriver</value>
	</parameter>
	<parameter>
		<name>url</name>
	
<value>jdbc:oracle:thin:@172.30.24.52:1521:ppp</value>
	</parameter>
	<parameter>
		<name>username</name>
		<value>scott</value>
	</parameter>
	<parameter>
		<name>password</name>
		<value>tiger</value>
	</parameter>
</ResourceParams>



</Context>



And my code is .......

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.InitialContext;

public class dbcon extends HttpServlet
{
	DataSource pool;
	public void init() throws ServletException
	{
		Context env = null;
		
		try
		{
			env = (Context) new
InitialContext().lookup("java:comp/env");
			pool = (DataSource)
env.lookup("jdbc/oracle-8i-athletes");
			if(pool == null)
			{
			throw new ServletException("oracle 8i ath is an
unknow driver");
			}
		}
		catch(NamingException o)
		{
			throw new ServletException(o.getMessage());
		}
	}

	public void doGet(HttpServletRequest request,
HttpServletResponse response) throws 								
ServletException, IOException
	{
	
		String sql = "select * from emp";

		Connection conn = null;
	
		Statement stmt = null;
	
		ResultSet rs = null;
	
		ResultSetMetaData rsm = null;

		response.setContentType("text/html");
	
		java.io.PrintWriter out = response.getWriter();
	
		out.println("<html><head><title>Servlet Database
Acess </title> </head><body>");
	
		out.println("<h2>Database info</h2>");
	
		out.println("<table border='1'><tr>");

		try	
		{
			//Class.forName("oracle.jdbc.driver.OracleDriver");
			
			//String url =
"jdbc:oracle:thin:@172.30.24.52:1521:ppp";
			
			conn = pool.getConnection();

			stmt = conn.createStatement();

			rs = stmt.executeQuery(sql);

			rsm = rs.getMetaData();

			int colCount = rsm.getColumnCount();

			for(int i = 1; i<colCount; i++)
			{
				out.println("<th>" + rsm.getColumnName(i) +
"</th>");
			}

			out.println("</tr>");
			
			while(rs.next())
			{
				out.println("<tr>");
				
				for(int i = 1; i<=colCount;++i)
				{
					out.println("<td>" + rs.getString(i) + "</td>");
				}
				out.println("</tr>");
			}
		}
		catch(Exception e)
		{
			throw new ServletException (e.getMessage());			
		}
		finally
		{
			try
			{
				if(stmt != null)
					stmt.close();
				if(conn != null)
					conn.close();
			}
			catch(SQLException sqle)
			{}
		}

		out.println("</table><br><br>");

		out.println("</body>");

		out.println("</html>");
		
	}

} 



I am getting error.

type Exception report

message 

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

exception 

javax.servlet.ServletException: Name java:comp is not
bound in this Context
	dbcon.init(dbcon.java:28)

javax.servlet.GenericServlet.init(GenericServlet.java:211)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)


org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	java.lang.Thread.run(Thread.java:595)


note The full stack trace of the root cause is
available in the Apache Tomcat/5.0.28 logs.



Please tell me correct code . We want to configure a
datasource in tomcat......for connection pooling....

Krishan





__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic