Conectarse SQL SERVER con JTDS
Para conectarme con una base de datos SQL SERVER con Java, por JDBC, utilizo el driver JTDS.
El driver JTDS no requiere de ninguna
configuración, más que agregar el driver al classpath de la aplicación.
private Connection conexion; private String driver="net.sourceforge.jtds.jdbc.Driver"; private String urlBD="sqlserver://DIRECCION_IP/BASE_DATOS;"; public int conectar(){ try { Class.forName(this.driver); this.conexion = DriverManager.getConnection("jdbc:jtds:"+urlBD+"user="+this.usuario+";password="+this.password); return 0; }catch(SQLException ex) { ex.printStackTrace(); if( ex.getErrorCode( ) == 1205 ) { System.out.println( "INTERBLOQUEO!"+ new Date() ); } return 1; } //fin del catch catch( Exception ex) { ex.printStackTrace(); return 1; } //fin del catch }
Por defecto la cadena de conexión es del estilo:
private String driver="net.sourceforge.jtds.jdbc.Driver"; private String urlBD="sqlserver://DIRECCION_IP/BASE_DATOS;"; DriverManager.getConnection("jdbc:jtds:"+urlBD+"user="+this.usuario+";password="+this.password);
Pero es posible que nos estemos conectando a una instancia del servidor SQL SERVER, o a otro puerto
diferente, por lo que la cadena de conexión podría ser la siguiente:
private String urlBD="sqlserver://DIRECCION_IP:PORT/BASE_DATOS;instance=NOMBRE_INSTANCIA;";
Por defecto el puerto al que se conecta JTDS es el 1433 (TCP). Es importante saber que si nos vamos a
conectar a una instancia de la base de datos SQL SERVER, vamos a necesitar un puerto más, el 1434 (UDP).
Parece una tonteria, pero si tenemos algún tipo de Firewall por medio, es necesario abrir ese puerto.