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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to