Published on

July 15, 2024

Conexión a la base de datos de SQL Server usando Java

En esta publicación del blog, discutiremos cómo conectarse a una base de datos de SQL Server usando Java y recuperar filas de una declaración SELECT. Utilizaremos el controlador JDBC de Microsoft para establecer la conexión y ejecutar la consulta.

Paso 1: Descargar e instalar el controlador JDBC

El primer paso es descargar e instalar el controlador JDBC de Microsoft para SQL Server. Asegúrese de recordar la ruta y el nombre del archivo del controlador, ya que se necesitará en el siguiente paso.

Paso 2: Configurar la variable de entorno Classpath

A continuación, debemos agregar la ruta completa y el nombre del archivo del controlador JDBC a la variable de entorno CLASSPATH del sistema. Esto se puede hacer siguiendo estos pasos:

  1. Abra el Panel de control.
  2. Haga clic en Sistema.
  3. Haga clic en Configuración avanzada del sistema.
  4. Haga clic en Variables de entorno…
  5. Busque una variable CLASSPATH en el cuadro Variables del sistema. Si existe, haga clic en CLASSPATH y luego en Editar. En el cuadro Valor de la variable, agregue un punto y coma y la ruta completa al archivo jar JDBC al valor existente de CLASSPATH. Asegúrese de incluir el nombre del archivo.
  6. Si CLASSPATH no existe, haga clic en Nuevo. En el cuadro Valor de la variable, ingrese la ruta completa y el nombre del archivo jar JDBC.
  7. Haga clic en Aceptar para guardar los cambios.

Paso 3: Escribir el código Java

Ahora estamos listos para escribir el código Java para conectarse a la base de datos de SQL Server y ejecutar la consulta SELECT. A continuación se muestra un ejemplo de código:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SelectFromSQLServer {
  private static final String jdbcDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  private static final String jdbcURL = "jdbc:sqlserver://localhost:1433;databasename=AdventureWorksDW2014;integratedSecurity=true;";

  public static void main(String[] args) {
    try {
       Class.forName(jdbcDriver).newInstance();
       System.out.println("Controlador JDBC cargado");
    } catch (Exception err) {
       System.err.println("Error al cargar el controlador JDBC");
       err.printStackTrace(System.err);
       System.exit(0);
    }
    
    Connection databaseConnection= null;
    try {
      databaseConnection = DriverManager.getConnection(jdbcURL);
      System.out.println("Conectado a la base de datos");
    
      Statement sqlStatement = databaseConnection.createStatement();
      ResultSet rs = null;
  
      String queryString="select ";
      queryString+="op.OrganizationName as ParentOrganizationName, ";
      queryString+="oc.OrganizationName as OrganizationName, ";
      queryString+="c.CurrencyName as CurrencyName ";
      queryString+="from dbo.DimOrganization as oc ";
      queryString+="inner join dbo.DimOrganization as op on op.OrganizationKey=oc.ParentOrganizationKey ";
      queryString+="inner join dbo.DimCurrency as c on oc.CurrencyKey=c.CurrencyKey ";
      queryString+="order by ParentOrganizationName, OrganizationName ";

      System.out.println("\nCadena de consulta:");
      System.out.println(queryString);
      
      rs=sqlStatement.executeQuery(queryString);
      
      System.out.println("\nParentOrganizationName\t|\tOrganizationName\t|\tCurrencyName");
      System.out.println("----------------------\t|\t----------------\t|\t------------");
      
      while (rs.next()) {
        printResultSetRow(rs);
      }    
      
      rs.close();
      System.out.println("Cerrando la conexión a la base de datos");
      databaseConnection.close();
    } catch (SQLException err) {
       System.err.println("Error al conectar a la base de datos");
       err.printStackTrace(System.err);
       System.exit(0);
    }
    System.out.println("Programa finalizado");
  }
  
  public static void printResultSetRow(ResultSet rs) throws SQLException {
    String OrganizationName= rs.getString("OrganizationName");
    String ParentOrganizationName= rs.getString("ParentOrganizationName");
    String CurrencyName= rs.getString("CurrencyName");
    System.out.println(ParentOrganizationName+"\t|\t"+ OrganizationName + "\t|\t" + CurrencyName);  
  }
}

Paso 4: Compilar y ejecutar el programa Java

Después de escribir el código Java, es hora de compilar y ejecutar el programa. Asegúrese de incluir la ruta al archivo sqljdbc_auth.dll que se requiere para la autenticación de Windows. Abra el símbolo del sistema y navegue hasta el directorio donde se encuentra el archivo Java. Luego ingrese el siguiente comando:

java -Djava.library.path="C:\Program Files\Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\enu\auth\x64" SelectFromSQLServer

Los resultados se mostrarán en el símbolo del sistema.

Siguiendo estos pasos, puede conectarse correctamente a una base de datos de SQL Server usando Java y recuperar filas de una declaración SELECT. Esto puede ser útil para varias aplicaciones que requieren interacción con una base de datos de SQL Server.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.