Trabajar con una conexión

Las siguientes secciones proporcionan ejemplos de las diferentes formas de conectarse a una base de datos de SQL Server mediante la clase SQLServerConnection del controlador JDBC de Microsoft SQL Server.

Nota

Si tiene problemas para conectarse a SQL Server con el controlador JDBC, consulte Solución de problemas de conectividad, donde encontrará sugerencias sobre cómo corregirlos.

Creación de una conexión con la clase DriverManager

El enfoque más sencillo para crear una conexión a una base de datos SQL Server es cargar el controlador JDBC y llamar al método getConnection de la clase DriverManager, como en el siguiente ejemplo:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"
Connection con = DriverManager.getConnection(connectionUrl);

Este técnica creará una conexión a una base de datos usando el primer controlador disponible de la lista de controladores que se pueda conectar correctamente con la URL dada.

Nota

Al usar la biblioteca de clases sqljdbc4.jar, las aplicaciones no necesitan registrar o cargar explícitamente el controlador usando el método Class.forName. Cuando se llama al método getConnection de la clase DriverManager, se busca un controlador apropiado en el conjunto de controladores JDBC registrados. Para obtener más información, vea Usar el controlador JDBC

Crear una conexión con la clase SQLServerDriver

Si tiene que especificar un controlador en particular de la lista de controladores para DriverManager, puede crear una conexión a una base de datos con el método connect de la clase SQLServerDriver, como en el siguiente ejemplo:

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=true;"
Connection con = d.connect(connectionUrl, new Properties());

Crear una conexión con la clase SQLServerDataSource

Si tiene que crear una conexión mediante la clase SQLServerDataSource, puede usar diversos métodos de establecimiento de la clase antes de llamar al método getConnection, como en el siguiente ejemplo:

SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("MyUserName");
ds.setPassword("*****");
ds.setServerName("localhost");
ds.setPortNumber(1433); 
ds.setDatabaseName("AdventureWorks");
Connection con = ds.getConnection();

Crear una conexión cuyo destino sea un origen de datos muy específico

Si tiene que hacer una conexión a una base de datos cuyo destino sea un origen de datos muy específico, hay varios enfoques posibles. Cada enfoque depende de las propiedades que configure mediante la URL de conexión.

Para conectarse a la instancia predeterminada de un servidor remoto, use lo siguiente:

String url = "jdbc:sqlserver://MyServer;integratedSecurity=true;"

Para conectarse a un puerto específico de un servidor, use lo siguiente:

String url = "jdbc:sqlserver://MyServer:1533;integratedSecurity=true;"

Para conectarse a una instancia con nombre de un servidor, use lo siguiente:

String url = "jdbc:sqlserver://209.196.43.19;instanceName=INSTANCE1;integratedSecurity=true;"

Para conectarse a una base de datos específica de un servidor, use lo siguiente:

String url = "jdbc:sqlserver://172.31.255.255;database=AdventureWorks;integratedSecurity=true;"

Para obtener más ejemplos de URLs de conexión, consulte Generar URL de conexión.

Crear una conexión con tiempo de espera de inicio de sesión personalizado

Si tiene que ajustarse a la carga del servidor o el tráfico de la red, puede crear una conexión que tenga un valor de tiempo de espera de inicio de sesión en segundos, como en el siguiente ejemplo:

String url = "jdbc:sqlserver://MyServer;loginTimeout=90;integratedSecurity=true;"

Crear una conexión con identidad a nivel de la aplicación

Si tiene que crear perfiles y registros, tendrá que identificar la conexión como originaria de una aplicación específica, como en el siguiente ejemplo:

String url = "jdbc:sqlserver://MyServer;applicationName=MYAPP.EXE;integratedSecurity=true;"

Cerrar una conexión

Puede cerrar explícitamente una conexión a una base de datos llamando al método close de la clase SQLServerConnection, como en el siguiente ejemplo:

con.close();

De esta forma se liberarán los recursos de la base de datos que está usando el objeto SQLServerConnection, o devolver la conexión al grupo de conexiones en situaciones de agrupamiento.

Nota

Si llama al método close, también se revertirán todas las transacciones pendientes.

Vea también

Otros recursos

Conectar SQL Server con el controlador JDBC