Conectar Java con SQL Server 2005

Posted by Martín A. Rodríguez | Posted in , , ,



Lo primero que hay que hacer para conectar una aplicación Java con la base de datos Microsoft SQL Server 2005, es bajar el controlador que nos va a permitir manejar la conexión. 

Para ello vamos a Controlador JDBC de Microsoft SQL Server 2005, hacemos clic en el botón Download y en la página que nos abre, donde nos muestra la licencia, elegimos si queremos descargar la versión para Windows o para Linux.
Una vez que tenemos descargado el archivo sqljdbc_1.2.2828.100_enu.exe (si elegimos Windows), lo ejecutamos y elegimos en que carpeta queremos descomprimir el archivo. Luego, debemos buscar el archivo sqljdbc.jar y lo copiamos a la carpeta Lib de nuestro proyecto donde tenemos el resto de nuestras librerías.



Para realizar una prueba de si es posible conectarnos con la base de datos, podemos ejecutar un test mediante el siguiente código:


import java.sql.*;
/**
  * Microsoft SQL Server JDBC test program
  */
public class SQLServerTest
{

public SQLServerTest()
{
   Connection connection = null;
   try
   {
      // Get connection
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
      connection = DriverManager.getConnection("jdbc:sqlserver://NOMBREDB:1433", "USER", "PASS");
      if (connection != null)
      {
         System.out.println("Successfully connected");
         // Meta data
         DatabaseMetaData meta = connection.getMetaData();
         System.out.println("\nDriver Information");
         System.out.println("Driver Name: " + meta.getDriverName());
         System.out.println("Driver Version: " + meta.getDriverVersion());
         System.out.println("nDatabase Information ");
         System.out.println("Database Name: " + meta.getDatabaseProductName());
         System.out.println("Database Version: " + meta.getDatabaseProductVersion());
      }
   }
   catch (ClassNotFoundException e)
   {
      System.out.println("No se encontró el controlador: " + e.getMessage());
   }
   catch (SQLException e)
   {
      System.out.println("Error en la base de datos: " + e.getMessage());
   }
}
 

  // Test
  public static void main (String args[]) throws Exception  

  {
     SQLServerTest test = new SQLServerTest();
  }
}


Y por consola nos debería aparecer algo parecido a:

Successfully connected

Driver Information
Driver Name: Microsoft SQL Server 2005 JDBC Driver
Driver Version: 1.2.2828.100
nDatabase Information
Database Name: Microsoft SQL Server
Database Version: 9.00.1399


Hay que prestar atención a algunos detalles:

1) Es importante colocar en la dirección las barras // y no las barras invertidas \\

2) He visto este código en otros lados y tiene un error importante. En vez de escribir jdbc:sqlserver: escriben jdbc:microsoft:sqlserver: Y por ese detalle les sale la siguiente exception:


Exception in thread "main" java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(Unknown Source)



3) Deben cambiar en el código los siguientes datos:
NOMBREDB: el nombre de la base de datos a la que queremos acceder
USER: el usuario
PASS: la contraseña


4) Si no hemos agregado bien la librería sqljdbc.jar a nuestro proyecto nos saldrá lo siguiente:
No se encontró el controlador: com.microsoft.sqlserver.jdbc.SQLServerDriver 

Si todo salió bien, ya tenemos nuestra conexión para empezar a utilizar SQL Server 2005 con nuestra aplicación.

Comments (0)

Publicar un comentario