Trabajo con una conexión
En las siguientes secciones se proporcionan ejemplos de las diferentes formas de conectar con una base de datos de SQL Server mediante la clase SQLServerConnection del Microsoft JDBC Driver para SQL Server.
Nota
Si tiene problemas para conectarse a SQL Server con el controlador JDBC, vea Solución de problemas de conectividad, donde encontrará sugerencias sobre cómo corregirlos.
Crear 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;encrypt=true;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;encrypt=true;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();
Creación de una conexión cuyo destino es un origen de datos específico
Si tiene que hacer una conexión a una base de datos cuyo destino es un origen de datos 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 el ejemplo siguiente:
String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"
Para conectarse a un puerto específico de un servidor, use el ejemplo siguiente:
String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"
Para conectarse a una instancia con nombre de un servidor, use el ejemplo siguiente:
String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"
Para conectarse a una base de datos específica de un servidor, use el ejemplo siguiente:
String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"
Para ver más ejemplos de direcciones URL de conexión, consulte Creación de la dirección URL de conexión.
Creación de una conexión con un tiempo de espera de inicio de sesión personalizado
Si tiene que ajustarse a la carga del servidor o el tráfico de red, puede crear una conexión que tenga un valor de tiempo de espera de inicio de sesión específico en segundos, como en el siguiente ejemplo:
String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"
Crear una conexión con identidad de nivel de aplicación
Si tiene que usar 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;encrypt=true;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.