Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/11/2003, 08:45
Avatar de bakanzipp
bakanzipp
 
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 1 mes
Puntos: 0
para manejar un pool de conexion yo trabajo de la siguiente manera (a ver si te sirve, en mi caso me conecto con sql server 7.0 y con tomcat)..

1ro
declaro en el turbineResource.properties el string de conexion

Código PHP:
## Database SQL Server
database.conector.driver=com.inet.tds.TdsDriver
database
.conector.url=jdbc:servidor:1433?database=mi_base
database
.conector.username=sa
database
.conector.password
2do
cree una clase que maneja el pool

Código PHP:

import org
.apache.turbine.services.resources.TurbineResources;
import org.apache.turbine.util.Log;

import java.sql.*;
import java.util.Vector;

public class 
SQLServerJDBC
{
    
String driver "";
    
String url "";
    
String login "";
    
String password "";
    
int codError 0;
    
String mensajeError "";

    
Connection connection null;

    public 
SQLServerJDBC()
    {
        try
        {
            
driver TurbineResources.getString("database.conector.driver""");
            
url TurbineResources.getString("database.conector.url""");
            
login TurbineResources.getString("database.conector.username""");
            
password TurbineResources.getString("database.conector.password""");

            Class.
forName(driver);

            
DriverManager.setLoginTimeout(30);
            
connection DriverManager.getConnection(urlloginpassword);
            
connection.setAutoCommit(false);
        }
        catch(
Exception e)
        {
            
Log.error(e);
            
codError 1;
            
mensajeError e.toString();
        }
    }

    public 
boolean doCommit()
    {
        
clearError();
        try
        {
            
connection.commit();
        }
        catch(
Exception e)
        {
            
Log.error(e);
            
codError 1;
            
mensajeError e.toString();
            return 
false;
        }
        return 
true;
    }

    public 
boolean doRollback()
    {
        
clearError();
        try
        {
            
connection.rollback();
        }
        catch(
Exception e)
        {
            
Log.error(e);
            
codError 1;
            
mensajeError e.toString();
            return 
false;
        }
        return 
true;
    }

    public 
Vector doSelect(String sql)
    {
        
Vector data = new Vector();
        
clearError();
        try
        {
            
Statement st connection.createStatement();
            
ResultSet rs st.executeQuery(sql);

            while (
rs.next())
            {
                
Vector rec = new Vector();
                for (
int i 1<= rs.getMetaData().getColumnCount(); i++)
                {
                    
rec.addElement(rs.getObject(i));
                }
                
data.addElement(rec);
            }
            
st.close();
        }
        catch(
Exception e)
        {
            
Log.error(e);
            
codError 1;
            
mensajeError e.toString();
            return new 
Vector();
        }
        return 
data;
    }

3ro instancio la conexion desde mis servlets

Código PHP:
import org.apache.velocity.context.Context;
import org.apache.turbine.util.Log;

import java.lang.Integer;
import java.lang.String;
import java.util.Date;
import java.util.Vector;
import java.util.Hashtable;
import java.util.Enumeration;
import java.text.SimpleDateFormat;
import com.package.modulo.util.SQLServerJDBC;


public class 
mi_clase
{
    
SQLServerJDBC jdbc null;


     public 
Vector Operacion(Hashtable tablaVector detalle)
    {
      try
      {
            
jdbc = new SQLServerJDBC();
            
String sql "";
            
Vector data_ null;

            
sql "select * from tabla";

            
sql "select * from tabla";
            
data_ jdbc.doSelect(sql);

            if (
data_ == null || data_.size() < 1)
            {
                
jdbc.doRollback();
                
jdbc.doClose();
                return 
false;
            }    }
      catch(
Exception e)
      {
            
Log.error(e);
      }
        return 
data_;
    }


saludos