Share via


Usar el controlador JDBC

En esta sección se proporciona una serie de instrucciones rápidas para establecer una conexión sencilla a una base de datos de SQL Server con el controlador JDBC de Microsoft SQL Server. Antes de establecer la conexión a una base de datos de SQL Server, SQL Server se debe instalar en el equipo local o en un servidor y el controlador JDBC se debe instalar en el equipo local.

Elegir el archivo JAR adecuado

El controlador JDBC de Microsoft SQL Server proporciona los archivos de la 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.

Establecer la ruta de clase

El controlador JDBC no forma parte del SDK de Java. Si lo quiere usar, debe configurar la ruta de clase para que incluya el archivo sqljdbc4.jar. Si en la ruta de clase falta una entrada para sqljdbc.jar o sqljdbc4.jar, su aplicación producirá la excepción común "Clase no encontrada".

El archivo sqljdbc.jar y el archivo sqljdbc4.jar se instalan en la siguiente ubicación:

<directorio de instalación>\sqljdbc_<versión>\<idioma>\sqljdbc.jar

<directorio de instalación>\sqljdbc_<versión>\<idioma>\sqljdbc.jar

El siguiente es un ejemplo de la instrucción CLASSPATH usada para una aplicación Windows:

CLASSPATH =.;C:\Program Files\Microsoft SQL Server JDBC Driver\sqljdbc_3.0\enu\sqljdbc.jar

El siguiente es un ejemplo de la instrucción CLASSPATH usada para una aplicación de Unix/Linux:

CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_3.0/enu/sqljdbc.jar

Debe asegurarse de que la instrucción CLASSPATH solo contiene un controlador JDBC de Microsoft SQL Server, como sqljdbc.jar o sqljdbc4.jar.

Nota

En los sistemas de Windows, los nombres de directorio mayores que 8.3 o los nombres de carpetas con espacios pueden causar problemas con las rutas de clase. Si considera que se da este tipo de problema, debe mover temporalmente el archivo sqljdbc.jar o el archivo sqljdbc4.jar a un nombre de directorio sencillo, como C:\Temp, cambiar la ruta de clase y determinar si de este modo se corrige el problema.

Aplicaciones que se ejecutan directamente en el símbolo del sistema

La ruta de clase se configura en el sistema operativo. Anexe sqljdbc.jar o sqljdbc4.jar a la ruta de clase del sistema. Además, puede especificar la ruta de clase en la línea de comandos de Java que ejecuta la aplicación con la opciónjava -classpath.

Aplicaciones que se ejecutan en un IDE

Cada proveedor de IDE ofrece un método distinto para establecer la ruta de clase en el IDE. Establecer sin más la ruta de clase en el sistema operativo no funciona. Debe agregar sqljdbc.jar o sqljdbc4.jar a la ruta de clase IDE.

Servlets y JSP

Los servlets y JSP se ejecutan en un motor de servlet/JSP, como Tomcat. La ruta de clase se debe establecer de acuerdo con la documentación del motor de servlet/JSP. Establecer sin más la ruta de clase en el sistema operativo no funciona. Algunos motores de servlet/JSP incluyen pantallas de configuración que puede utilizar para establecer la ruta de clase del motor. En este caso, debe adjuntar el archivo JAR del controlador JDBC correcto a la ruta de clase del motor y reiniciar el motor. En otras situaciones, puede configurar el controlador copiando sqljdbc.jar o sqljdbc4.jar en un directorio específico, como lib, durante la instalación del motor. La ruta de clase del controlador del motor también se puede especificar en un archivo de configuración específico del motor.

Enterprise Java Beans

Enterprise Java Beans (EJB) se ejecuta en un contenedor EJB. Los contenedores EJB son distribuidos por varios proveedores. Los applets Java se ejecutan en un explorador, pero se descargan desde un servidor web. Copie sqljdbc.jar o sqljdbc4.jar en la raíz del servidor web y especifique el nombre del archivo JAR en la ficha de archivo HTML del applet; por ejemplo, <applet ... archive=sqljdbc.jar>.

Establecer una conexión sencilla con una base de datos

Mediante la biblioteca de clases sqljdbc.jar, primero las aplicaciones deben registrar el controlador del modo siguiente:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Una vez cargado el controlador, puede establecer una conexión con una URL de conexión y el método getConnection de la clase DriverManager:

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
   "databaseName=AdventureWorks;user=MyUserName;password=*****;";
Connection con = DriverManager.getConnection(connectionUrl);

En la API 4.0 de JDBC, el método DriverManager.getConnection se ha mejorado para que se carguen los controladores JDBC automáticamente. Por tanto, no es necesario que las aplicaciones llamen al método Class.forName para registrar o cargar el controlador cuando se use la biblioteca de clases sqljdbc4.jar.

Cuando se llama al método getConnection de la clase DriverManager, se encuentra un controlador apropiado en el conjunto de controladores JDBC. El archivo sqljdbc4.jar incluye el archivo "META-INF/services/java.sql.Driver", que contiene el com.microsoft.sqlserver.jdbc.SQLServerDriver como un controlador registrado. Las aplicaciones existentes, que actualmente cargan los controladores usando el método Class.forName, seguirán trabajando sin modificación.

Nota

La biblioteca de clases sqljdbc4.jar necesita la versión 6.0 de Java Runtime Environment (JRE) o una posterior.

Para obtener más información acerca de la conexión con orígenes de datos y el uso de una URL de conexión, vea Generar URL de conexión y Establecer las propiedades de conexión.

Vea también

Otros recursos

Introducción al controlador JDBC