MTBASE / SYBASE DE COLOMBIA
 
Búsqueda avanzada...
Versión para imprimir Versión para imprimir Enviar vínculo por e-mail Enviar por e-mail Ver atributos del documento Atributos del documento
 

Configuración del Connection Pooling de jConnect JDBC con Tomcat 4.1.x

Introducción

Éste documento describe los pasos necesarios para configurar el "Connection Pooling" de jConnect JDBC con Tomcat 4.1.x y establecer una conexión con un servidor de bases de datos Sybase ASE.

Las instrucciones de éste documento se basaron en un ejercicio llevado a cabo con jConnect 5.5 y Tomcat 4.1.18, en plataforma Windows. En el documento se asume que Tomcat a sido debidamente instalado y configurado en el directorio C:\Program Files\Apache Group\Tomcat 4.1 y que jConnect JDBC de Sybase está instalado en C:\sybase\jConnect-5_5.

Al final de éste documento está el texto de lo debe ser guardado como tres archivos separados:

Instrucciones

Por favor proceda de la siguiente manera:

  1. Cree las siguientes carpetas:

C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase
C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\jsp
C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\WEB-INF
C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\WEB-INF\jsp

  1. Mueva el archivo web.xml a la carpeta C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\WEB-INF.
  2. Mueva el archivo sybase.jsp a la carpeta C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\jsp.
  3. Agregue el contenido del archivo server.xml.SybaseDelta al archivo C:\Program Files\Apache Group\Tomcat 4.1\conf\server.xml existente.

Agregue el nuevo contenido como un contexto adicional dentro de la especificación del servicio "Tomcat-Standalone". Inserte esto después de la última entrada "</context>", pero antes del terminador "</host>" en el grupo "Tomcat-Standalone".

Reemplace las siguientes cadenas con los valores apropiados para su instalación:

database_hostname – nombre de host donde corre Sybase ASE (ej. server1.miempresa.com)
your_dbname – nombre de la base de datos (ej. prod_db)
your_userid – login de ASE (ej. sa)
your_password – contraseña del login (ej. qwer6789)

Si su servidor no está "escuchando" en el puerto 5000, haga el cambio correspondiente para el puerto, también, en el url de conexión, reempezando el valor 5000 por el adecuado.

  1. Copie el archivo C:\sybase\jConnect-5_5\classes\jconn2.jar al directorio C:\Program Files\Apache Group\Tomcat 4.1\common\lib.
  2. Reinicie Tomcat.
  3. Desde su navegador, escriba el siguiente URL: http://tomcat_host:tomcat_port/Sybase

donde tomcat_host es el nombre del servidor en donde corre Tomcat, y tomcat_port es el puerto HTTP de Tomcat (usualmente 8080).

Si todo funciona bien, usted debería ver, entre otras cosas, el resultado del comando select db_name().

Archivo "web.xml"

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
  <welcome-file-list> 
    <welcome-file>/jsp/sybase.jsp</welcome-file> 
  </welcome-file-list> 
  <!-- for using dscp --> 
  <resource-ref> 
    <res-ref-name>jdbc/a_sybase_datasource</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
  </resource-ref> 
</web-app>

Archivo "sybase.jsp"

<%@ page import="java.sql.*" %> 
<%@ page import="javax.sql.*" %> 
<%@ page import="javax.naming.*" %> 
<%@ page import="java.util.*" %> 
<html> 
<head> 
<title>Testing Sybase DataSource</title> 
</head> 
 
<body bgcolor="white"> 
<font size=4> 
<h3>Start of Test</h3> 
<% 
String s = "java:comp/env"; 
String t = "jdbc/a_sybase_datasource"; 
InitialContext initCtx = null; 
try 

  initCtx = new InitialContext(); 
  out.println("<p>initCtx = new InitialContext() : successful"); 
  out.println("<br>"); 
  out.println( initCtx ); 

catch (Exception e) 

  out.println("<p>initCtx = new InitialContext() : failed"); 
  out.println("<br>"); 
  out.println ( e ); 

Context envCtx = null; 
try 

  envCtx = (Context) initCtx.lookup( s ); 
  out.println("<br>envCtx = initCtx.lookup(" + s + ") : successful"); 
  out.println("<br>"); 
  out.println( envCtx ); 

catch (Exception e) 

  out.println("<br>envCtx = initCtx.lookup(" + s + ") : failed"); 
  out.println ( e ); 

DataSource ds = null; 
ds = null; 
try 

  out.println("<p>Trying ds=(DataSource)envCtx.lookup(" + t + ")"); 
  ds = (DataSource) envCtx.lookup( t ); 
  out.println("<br>DataSource lookup apparently successful"); 
  out.println("<br>" + ds ); 

catch (Exception e) 

  out.println("<BR>Datasource lookup failed <BR>"); 
  out.print( e ); 

if (ds == (DataSource) null) 

  out.println("<BR>DataSource null\n"); 

try { 
  Connection conn = ds.getConnection(); 
  Statement stmt = conn.createStatement(); 
  ResultSet rs = stmt.executeQuery("select db_name()"); 
  while (rs.next()) 
  { 
    out.println 
      ( "<br>Inside fetch loop:" ); 
    out.println 
      ( "<br>Value Returned from DataSource: " + 
    rs.getString(1) ); 
  } // end_while 
  rs.close(); 
  stmt.close(); 
  conn.close(); 
} // end_try 
catch (SQLException sqe) { 
  out.println("<br>Inside catch(SQLException sqe)"); 
  out.println( sqe.getMessage() ); 
} // end catch SQLException 
catch (Exception e) { 
  out.println("<BR>Inside catch(Exception e)<BR>"); 
  out.println(e.getMessage()); 
  out.print( e ); 
} // end catch Exception 
%> 
<p> 
<h3>End of Test</h3> 
</font> 
</body> 
</html>

Archivo "server.xml.SybaseDelta"

<!-- Sybase Example Context - dscp example --> 
<Context path="/Sybase" 
  docBase="sybase" 
  debug="5" 
  reloadable="true" 
  crossContext="true"> 
  <Logger className="org.apache.catalina.logger.FileLogger" 
    prefix="localhost_Sybase.log." 
    suffix=".txt" 
    timestamp="true"/> 
  <Resource name="jdbc/a_sybase_datasource" 
    auth="Container" 
    type="javax.sql.DataSource"/> 
  <ResourceParams name="jdbc/a_sybase_datasource"> 
    <parameter> 
      <name>factory</name> 
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 
    </parameter> 
    <parameter> 
      <name>maxActive</name> 
      <value>10</value> 
    </parameter> 
    <parameter> 
      <name>maxIdle</name> 
      <value>5</value> 
    </parameter> 
    <parameter> 
      <name>maxWait</name> 
      <value>10000</value> 
    </parameter> 
    <parameter> 
      <name>driverClassName</name> 
      <value>com.sybase.jdbc2.jdbc.SybDriver</value> 
    </parameter> 
    <parameter> 
      <name>url</name> 
      <value>jdbc:sybase:Tds:database_hostname:5000/your_dbname</value> 
    </parameter> 
    <parameter> 
      <name>username</name> 
      <value>your_userid</value> 
    </parameter> 
    <parameter> 
      <name>password</name> 
      <value>your_password</value> 
    </parameter> 
  </ResourceParams> 
</Context>
Atributos del Documento
Resumen: Este documento describe los pasos necesarios para configurar el Connection Pooling de jConnect JDBC con Tomcat 4.1.x y establecer una conexión con un servidor de bases de datos Sybase ASE.
Código: 10206 Última Modificación: May 17, 2006
Temas: Programación,Configuración Tipo de Documento: Documento Técnico
Productos: jConnect Versión: 5.5 en adelante
Plataformas: Todas las Plataformas Sistema Operativo: Todos los Sistemas Operativos
 
 Inicio   Sobre MTBASE   Sobre Sybase   Empleos en MTBASE   Mapa del Sitio   Aspectos Legales y Políticas de Privacidad