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:
- Abra el Panel de control.
- Haga clic en Sistema.
- Haga clic en Configuración avanzada del sistema.
- Haga clic en Variables de entorno…
- 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.
- 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.
- 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.