Que tal, espero me pueda ayudar con lo siguiente:
Tengun una clase en java que hace una conexion a SQL Server 2008 y muestra informacion basica de la conexion realizada, el caso es que esta clase funciona perfectamente bien en Eclipse pero cuando la ejecuto en modo consola se queda colgado el programa, para lo anterior, desde Eclipse hice un export de las librerias que necesito(sqljdbc4.jar) para crear un archivo .jar que coloco en un directorio especifico y a partir de ahi ejecuto el programa....
Esta es la instruccion con la que ejecuto en modo consola:
java -cp prueba.jar conexionSQL
Todos los archivos los tengo en c:\
Este es el codigo fuente:
public class conexionSQL {
private java.sql.Connection con = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver");
con = java.sql.DriverManager.getConnection("jdbc:sqlserv er://localhost\\SQLSRV2008R2;databaseName=IPC;selectMet hod=cursor;user=sa;password=ramulyar");
if (con != null) {
System.out.println("Conexión correcta.");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error de seguimiento en getConnection() : " + e.getMessage());
}
return con;
}
/* Mostrar las propiedades del controlador y los detalles de la base de datos */
public void displayDbProperties() {
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try {
con = this.getConnection();
if (con != null) {
dm = con.getMetaData();
System.out.println("Información del controlador");
System.out.println("\tNombre del controlador: " + dm.getDriverName());
System.out.println("\tVersión del controlador: " + dm.getDriverVersion());
System.out.println("\nInformación de la base de datos ");
System.out.println("\tNombre de la base de datos: " + dm.getDatabaseProductName());
System.out.println("\tVersión de la base de datos: " + dm.getDatabaseProductVersion());
System.out.println("Catálogos disponibles ");
rs = dm.getCatalogs();
while (rs.next()) {
System.out.println("\tcatálogo: " + rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
} else {
System.out.println("Error: No hay ninguna conexión activa");
}
} catch (Exception e) {
e.printStackTrace();
}
dm = null;
}
private void closeConnection() {
try {
if (con != null) {
con.close();
}
con = null;
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
conexionSQL myDbTest = new conexionSQL();
myDbTest.displayDbProperties();
}
}