En esta aplicación de ejemplo del Controlador Microsoft JDBC para SQL Server se muestra cómo conectar con una base de datos de SQL Server mediante un objeto de origen de datos. Además, se muestra cómo recuperar datos de una base de datos de SQL Server mediante un procedimiento almacenado.

El archivo de código para este ejemplo se llama connectDS.java y se encuentra en la siguiente ubicación:

<directorio de instalación>\sqljdbc_<version>\<language>\help\samples\connections

Requisitos

Para ejecutar esta aplicación de ejemplo, debe configurar la ruta de clase para que incluya el archivo sqljdbc.jar o el archivo sqljdbc4.jar. Si en la ruta de clase falta una entrada para sqljdbc.jar o sqljdbc4.jar, la aplicación de ejemplo genera la excepción común "Clase no encontrada". Además, debe tener acceso a la base de datos de ejemplo SQL Server 2005 AdventureWorks. Para obtener más información acerca de cómo establecer la ruta de clase (classpath), vea Usar el controlador JDBC.

El Controlador Microsoft JDBC para SQL Server proporciona los archivos de biblioteca de clases sqljdbc.jar y sqljdbc4.jar que hay que usar dependiendo de su configuración preferida de Java Runtime Environment (JRE). Para obtener más información acerca del archivo JAR que hay que elegir, vea Requisitos del sistema para el controlador JDBC.

Ejemplo

En el siguiente ejemplo, el código muestra establece varias propiedades de conexión con métodos establecedor del objeto SQLServerDataSource y, a continuación, llama al método getConnection del objeto SQLServerDataSource para devolver un objeto SQLServerConnection.

Después, el código muestra usa el método prepareCall del objeto SQLServerConnection para crear un objeto SQLServerCallableStatement y, a continuación, se llama al método executeQuery para ejecutar el procedimiento almacenado.

Finalmente, el ejemplo usa el objeto SQLServerResultSet devuelto por el método executeQuery para procesar una iteración mediante los resultados devueltos por el procedimiento almacenado.

import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;

public class connectDS {

   public static void main(String[] args) {

      // Declare the JDBC objects.
      Connection con = null;
      CallableStatement cstmt = null;
      ResultSet rs = null;

      try {
         // Establish the connection. 
         SQLServerDataSource ds = new SQLServerDataSource();
         ds.setUser("UserName");
         ds.setPassword("*****");
         ds.setServerName("localhost");
         ds.setPortNumber(1433); 
         ds.setDatabaseName("AdventureWorks");
         con = ds.getConnection();

         // Execute a stored procedure that returns some data.
         cstmt = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");
         cstmt.setInt(1, 50);
         rs = cstmt.executeQuery();

         // Iterate through the data in the result set and display it.
         while (rs.next()) {
            System.out.println("EMPLOYEE: " + rs.getString("LastName") + 
               ", " + rs.getString("FirstName"));
            System.out.println("MANAGER: " + rs.getString("ManagerLastName") + 
               ", " + rs.getString("ManagerFirstName"));
            System.out.println();
         }
      }

      // Handle any errors that may have occurred.
      catch (Exception e) {
         e.printStackTrace();
      }
      finally {
         if (rs != null) try { rs.close(); } catch(Exception e) {}
         if (cstmt != null) try { cstmt.close(); } catch(Exception e) {}
         if (con != null) try { con.close(); } catch(Exception e) {}
         System.exit(1);
      }
   }
}

Vea también