Ir al contenido principal

JSP y MsSQL Conexion a Base de Datos

Tema anterior: http://superahacker.blogspot.com/2009/09/jsp-y-mysql-conexion-base-de-datos.html

El modulo JSP con conexion a una base de datos Ms SQL Server, tiene las siguientes caracteristicas usar una clase Java llamada "Customers" que se encuentra en un package llamado "Mypackage", para usar sus metodos y con ellos llevar acabo una consulta.



En el tema anterior hicimos el mismo ejemplo; pero la conexion apuntaba a MySQL, para la conexion a Ms. SQL Server, usaremos la libreria JTDS JDBC Driver gratuita con soporte a Linux y Windows.

Requerimientos :
JTDS JDBC Driver http://jtds.sourceforge.net/

Hacemos la descarga de JTDS JDBC Driver desde su página principal,la cual nos redireccionara a sourceforge, para descargar un archivo zip. cuando escribiamos este tema la versión mas actualizada era JDTS-1.2.4-dist.zip.

Una vez descargado el JDTS-1.2.4-dist.zip extraeremos del zip el archivo jdts-1.2.4.jar, tal como se observa en esta imagen.



Es momento de llevarlo a un directorio donde se almacenan las librerias y extensiones de netbeans,\archivos de Programa\Netbeans 6.7.1\ide11\modules\ext e incluso dentro de ella existen otras librerias de conexion a otras base de datos tal como MySQL y PostgreSQL. observe la imagen a continuación



Manos a la obra muchachos carguemos o iniciemos NetBeans.


una vez cargado NetBeans vamos al menu File/New Project tal como se observa en la imagen.



Seleccione en recuadro de Categories: Java Web y en recuadro de Projects: Web Application. luego presione en [Next >].


Asignele un nombre al Proyecto en nuestro caso vamos a poner DemoJSP. luego presionamos en [Next >].


Aqui Seleccione el server con el que quiere trabajar el proyecto en nuestro caso escogemos GlassFish v3 y presionamos en [Finish]


Una Vez terminado esto NetBeans nos creara automaticamente un archivo llamado index.jsp que despues vamos a modificar.

Necesitamos crear dentro de Source Package un Package llamado "MyPackage" y dentro de el una clase java llamado "Customers"

Observe la siguiente imagen a continuación.



Dentro de la clase java "Customers" modifique e inserte todo este codigo.
package MyPackage;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
public class Customers {
//Declaraciones de Variables
Connection Conexion;
ResultSet Consulta;
Statement Acceso;
public String Sql;

/*-- Constructor New --*/
public Customers(){
Conexion = null;
Consulta= null;
Acceso=null;
// Cadena Conexion MSSQL con JTDS
String StrConxJTDS="jdbc:jtds:sqlserver://172.16.0.253:1433/master";
String StrUserJTDS="sa";
String StrPassJTDS="";

try {
/*-- JTDS --*/
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Conexion=DriverManager.getConnection(StrConxJTDS,StrUserJTDS,StrPassJTDS);
Acceso = Conexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.println("Conectando.....");
}catch(java.lang.ClassNotFoundException e){System.out.println(""+e);}
catch(SQLException e){System.out.println(""+e);
}
}

/*-- Funcion Consultar -- */

public ResultSet Consultar(String Campos,String Tabla,String Filtro){
try {
Sql="Select "+Campos+" From "+Tabla+" Where 1=1 "+Filtro;
System.out.println(Sql);
Consulta=Acceso.executeQuery(Sql);
}catch(SQLException e){System.out.println(""+e);}
return (Consulta);
}
/*-- Funcion Cerrar Conexion -- */
public void Cerrar(){
try{
Acceso.close();
Conexion.close();
}catch(SQLException e) {System.out.println(""+e);}
}
}

Para no tener problemas con las objetos y drivers de conexion necesitamos agregar a nuestro proyecto en la parte de Libraries la libreria JTDS; para ello necesitamos agregarlo a nuestro Manager Libraries tal como se muestra en esta imagen.

1.- Ir al menu Tools/Libraries.
2.- En la ventana de Manager Libraries, presione en el boton [New Libraries].
3.- Ingrese el nombre que le quiere asignar a su libreria.
4.- Presione en boton [OK]



Necesitamos agregar el archivo jtds-1.2.4.jar, para ello siga los sgtes. pasos y observe la imagen.
1.- Presionamos en boton [Add JAR/Folder] .
2.- Recuerden que lo copiamos en
\archivos de Programa\Netbeans 6.7.1\ide11\modules\ext.
3.- Una vez ubicado el JAR que conformara nuestra libreria presionamos en la ventana "Browse JAR/Folder" el boton [Add JAR/Folder].



Aqui podemos ver el resultado de agregar el JAR a nuestra libreria JTDS solo bastaria con presionar en el boton [OK] para crearlo satisfactoriamente.


Agregada la libreria JTDS en nuestro Manager Libraries, sera mucho más facil agregar esta libreria a nuevos proyectos con conexion a Ms SQL Server.

Pero nuestro proposito es agregarla a nuestro proyecto, para ello necesitamos seguir los sgtes. pasos.

1.- Clic derecho en directorio Libraries del Proyecto DemoJSP, en el menu contextual seleccione Add Library.
2.- Ubique la libreria JTDS anteriormente agregada a Manager Liraries.
3.- Presione en el boton [Add Library].

Con estos pasos tal como se describe en la imagen abremos agrgado con exito la libreria JTDS.


Aqui una muestra de la agregación de JTDS a nuestro proyecto.


Ahora necesitamos crear dentro de Web Pages un cascading Style o css llamado "stylos.css"



Dentro de el copie el siguiente codigo, tal como se ve en la imagen anterior.
body, td {font-family: "Lucida Grande", "Lucida Sans Unicode", "sans-serif";font-size: 12px;color: #444;}.tdtitulo {width:25px;border: 1px solid #CCC;cursor: pointer;font-weight:bold;background-color:#CCC;}


Ahora modificaremos el index.jsp tal como se muestra en esta imagen.



copiamos todo este codigo dentro del index.jsp.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DemoJSP Desde Perú
</title>
<link rel="stylesheet" href="stylos.css">
</head>
<body>
<%-- Importando  Librerias y Clases--%>
<%@ page import = "MyPackage.Customers" %>
<%@ page import = "java.sql.*" %>
<%!
/* -------------------------------
* Declaración de Variables en JSP
* -------------------------------*/
Customers Cliente;
ResultSet Tabla=null;
%>
<%
/* -- JSP --*/
try{Cliente = new Customers();
Tabla=Cliente.Consultar("*","Northwind..Customers", "");
/* -----------------------------
* Extrayendo Numero de Columnas
* Extrayendo Nombre de Tabla
------------------------------- */
int NumColumns = Tabla.getMetaData().getColumnCount();
String tableName = Tabla.getMetaData().getTableName(1);
out.println("<h1> Listado de "+tableName+" </h1>");
out.println("<table>");
out.println("<tr>");
/* ------------------------------
* Extrayendo Nombre de Columnas
------------------------------- */
for (int i=1; i<NumColumns+1; i++) {
String columnName =Tabla.getMetaData().getColumnName(i);
out.println("<td class='tdtitulo'>"+columnName+"</td>");
}
out.println("</tr>");
/* -----------------------------
*  Mostrando Datos de columnas
------------------------------- */
while(Tabla.next()){
out.println("<tr>");
for (int i=1; i<NumColumns+1; i++) {
out.println("<td>" + Tabla.getString(i) +"</td>");
}
out.println("</tr>");
}
out.println("</table>");
/* -----------------------------
*  Cerrando la Conexion
------------------------------- */
Cliente.Cerrar();
}
catch(Exception e){
out.println("<td>ERRORS</td>");
}
%>
</body>
</html>

No es necesario crear la base de Datos por que Ms SQL Server tiene una base de datos llamada Northwind y ella contiene una tabla llamada Customers, necesaria para este ejemplo. aqui una pequeña imagen del SQL Server Enterprise Manager.



Es momento de probar nuestro proyecto DemoJSP; para esto hay que hacer clic derecho sobre el proyecto DemoJSP y en el submenu elejimos Deploy, como se observa en esta imagen.




Despúes de haber hecho esto y ver como arranca nuestro servicio GlassFish podemos abri un navegador web en mi caso usare Google Chrome Usted puede usar Internet Explorer y en la dirección URL escribimos http://localhost:8080/DemoJSP/index.jsp recuerde escribir el nombre de la Aplicación Web tal cual escribio respetando mayúsculas y minúsculas.



Eso es todo como puede observar la consulta JSP a la base de datos Ms SQL Server se realizo sin problemas.

Nota: para conectar a una base de datos Ms SQL Server, existen variaciones en su cadena de conexion dependiendo de la version de Base de Datos, para tener referencias de cadenas de conexion puede visitar http://www.connectionstrings.com/

Comentarios

Entradas más populares de este blog

JSP y MySQL Conexion a Base de Datos

Tema anterior: http://superahacker.blogspot.com/2009/06/instalacion-netbeans-glassfish.html El modulo JSP con conexion a una base de datos MySQL, tiene las siguientes caracteristicas usar una clase Java llamada "Customers" que se encuentra en un package llamado "Mypackage" , para usar sus metodos y con ellos llevar acabo una consulta.

FreeTDS para el acceso a MsSQL desde PHP en Linux CentOS 5

Tema Anterior: http://superahacker.blogspot.com/2009/04/instalacion-de-unixodbc-para-la.html En esta ocasion la situación es como conectar con PHP 5 desde un Servidor Linux a una base de Datos Ms Sql Server en Servidor Windows.