[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