Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/02/2007, 22:39
rockcaifanesmetallic
 
Fecha de Ingreso: julio-2006
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Pool De Conexiones!!!!!ayuda

no amigo nunca pude hacer conexiones con el servidor integrado de netbeans.
pero lo que hice fue lo siguiente:

1)instalar tomcat 5.0.30
2)crear tu proyecto web
3)cambiar el proyecto para que corra desde al tomcat que le instalaste. si no sabes como te lo explico.
*seleccionar el proyecto en la ventana de PROJECT, darle click derecho
*te mostrara un menu , y le das click en PROPERTIES
*en la ventana de PROJECT PROPERTIES,seleccionar la opcion RUN
*Una vez que seleccionaste la opcion RUN, del lado derecho te aparecera la opcion de server , cambiar la version por la de TOMCAT 5(En este caso asi lo hago)
*guarda los cambios.
4)en el archivo WEB PAGES---->META-INF--->context.xml poner lo siguiente (cambia los parametros de acuerdo a los nombres de tu proyecto)

Cita:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="SSM" path="/SSM">
<!-- nombre del proyecto ruta de como se accesa al proyecto-->
<Resource auth="Container" name="jdbc/sig-tx" type="javax.sql.DataSource"/><!--nombre del recurso , esto lo ocupas en el web.xml-->
<ResourceParams name="jdbc/sig-tx">
<!--nombre del recurso , esto lo ocupas en el web.xml-->
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFact ory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDrive r</value><!--clase del driver-->
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>username</name>
<value>miusername</value><!--NOMBRE DE USUARIO DE LA BASE DE DATOS-->
</parameter>
<parameter>
<name>password</name>
<value>passwordensecretp</value><!--PASSWORD DE LA BASE DE DATOS-->
</parameter>
<parameter>
<name>url</name> <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=sig-tx</value>
<!--IP, PUERTO , NOMBRE DE BASE DE DATOS-->

</parameter>
</ResourceParams>
</Context>

5)en el archivo WEB-INF---->web.xml rescatar referencias al context.xml, en mi caso quedaria asi

Cita:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns=""
xmlns:xsi=""
xsi:schemaLocation="" >

<resource-ref>
<description>Conexion a Base de Datos</description>
<res-ref-name>jdbc/sig-tx</res-ref-name><!--nombre del recurso puesto en el context.xml-->
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

</web-app>

6)testear tu conexion, este es un ejemplo que encontre en SAN GOOGLE:

Código PHP:
 import java.io.*;
import java.sql.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;

public class 
poolBaseDatos extends HttpServlet 

{
    private 
DataSource fuenteDatos null;

    public 
void init(ServletConfig configthrows ServletException
    
{
        try
        {
            
// recuperamos el contexto inicial y la referencia a la fuente de datos
            
Context ctx = new InitialContext();
            
fuenteDatos = (DataSourcectx.lookup("java:comp/env/jdbc/sig-tx");
        }
        catch (
Exception e)
        {
            throw new 
ServletException("Imposible recuperar java:comp/env/jdbc/sig-tx",e);
        }
    }

    public 
void doGet(HttpServletRequest requestHttpServletResponse response)
    
throws ServletExceptionIOException
    
{
        
Connection con null// conexion parcial

        
response.setContentType("text/html");   // retornamos el tipo de respuesta
        
PrintWriter out response.getWriter();

        
out.println("Prueba del Pool de Objetos");
        
out.println("Buscamos tutorial con sentencias preparadas");

        try {

           
out.println("Probamos a recuperar conexión");

            
synchronized (fuenteDatos)
            {
                
con fuenteDatos.getConnection(); // cogemos la conexion
            
}

            if(
con == null)
            {
                
out.println("Error al recuperar la conexion, es nula");
                throw new 
ServletException("Problemas con la conexion");
            }

            
out.println("Preparamos la consulta");

            
PreparedStatement pstmt con.prepareStatement("SELECT * FROM tutoriales WHERE id < ?");
            
pstmt.setInt(1,10); // establecemos el entero
            
ResultSet results pstmt.executeQuery();

            while (
results.next())
            {
                
String id results.getString(1);
                
String titulo results.getString(2);
                
out.println("El titulo es " titulo " para id " id "");
            }
        }
        catch (
Exception e)
        {
            
out.println("Error al procesar consulta " e.getMessage());
        }
        
finally  // pase lo que pase retornamos la conexion
        
{
            try
            {
                
con.close();
            }
            catch (
Exception e)
            {
                
out.println("Error en proceso " e.getMessage());
            }
        }
        
out.println("-Fin-");  // cerramos la respuesta
         
out.close();  // Cerramos buffer
    
}



ARCHIVOS NECESARIOS, DEBEN DE ESTAR EN EL CLASSPATH DEL SERVIDOR(TOMCAT_HOME/common/lib) O DE LA APLICACION.

* driver de base de datos
* commons-collections.jar
* commons-dbcp-1.1.jar
* commons-pool-1.1.jar