- Abrir SqlServer para conexión por tcp/ip
- Conseguir el jar adecuado.
- La cadena de conexión
Para SqlServer 2008 sería:
Ejecutar: Microsoft SQL Server 2008>Herramientas de configuración>Administración de Configuración de SQL Server
Desplegar "Configuración de red de SQL Server", "Protocolos de " [Nombre instancia], y en TCP/IP dejar como habilitado
página de Microsoft sobre el tema
Para la Java 1.7 corresponde el sqljdbc41.jar que habría que bajar de Internet
Aquí está la madre del cordero.
En mi caso "jdbc:sqlserver:" es siempre fijo.
//nombre servidor:numero de puerto
instanceName=nombre de instancia(si hay varias en el mismo equipo es fundamental ponerla)
si se trabaja con autenticación de sqlServer (no Directorio Activo), user y password
En resumen:
"jdbc:sqlserver://localhost:1433;instanceName=SQLEXPRESS2008;databaseName=nombreBD;user=sa;password=secreta";
Con esto funciono.
Añado código de ejemplo:(Sacado de uno de los ejemplos de Microsoft que vienen junto al .jar para conectarse)
import java.sql.*;
public class CrudSqlServer1 {
public static void main(String[] args) {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://localhost:1433;instanceName=SQLEXPRESS2008;databaseName=nombreBD;user=sa;password=secreta";
// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
// Create and execute an SQL statement that returns some data.
String SQL = "SELECT * FROM Tabla1";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println(rs.getString(4) + " " + rs.getString(6));
}
System.out.println("FIN");
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (stmt != null) try { stmt.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}
}
}
}