Problemas serios de velocidad con jdbc
Publicado por Danix (6 intervenciones) el 11/04/2006 15:13:55
Buenas Amigos ; he tenido problemas con la conneccion desde java a una bd SQL2000 sp3, he bajado los drivers de microsoft para jdbc , pero cuando hago un select de una table tarda cerca de 1 minuto en traerla , la verdad no se si es el codigo o el driver porque el codigo intente cerrar todo cuando termino (ResulSet,Statement y Conneccion ) pero sige extremadamente lento , ya probe bajo linux y bajo windows , aca les mando el codigo que utilizo para armar la conneccion , hacer la consulta y devolver un Resultset:
public class ConDB {/* esta clase arma la coneccion */
private static ResultSet Rs = null;
private static Connection dbunica;
private static Statement stmt = null;
public static void main(String Args[]) {
}
public static ResultSet Stm(String query) {
try {
dbunica=CrearConexion();
stmt = dbunica.createStatement();
Rs = stmt.executeQuery(query);
} catch (Exception err) {
System.out.println("Error: " + err);
}
return Rs;
}
public static void CerrarConexion() throws SQLException{
dbunica.close();
}
public static void CerrarRs() throws SQLException{
Rs.close();
}
public static void CerrarStm() throws SQLException{
stmt.close();
}
public static Connection CrearConexion(){
String host = "192.168.99.2";
String db = "ASSAL_PRUEBA";
int puerto = 1433;
String usuario = "sa";
String contrasenia = "saadmin123";
String url = "jdbc:microsoft:sqlserver://" + host + ":" + puerto
+ ";DatabaseName=" + db + ";";
try {
// Conexion para consultar
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
dbunica = DriverManager.getConnection(url, usuario,contrasenia);
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dbunica;
}
}
Si tienen alguna sugerencia, bienvenida sea.
Muchas gracias
public class ConDB {/* esta clase arma la coneccion */
private static ResultSet Rs = null;
private static Connection dbunica;
private static Statement stmt = null;
public static void main(String Args[]) {
}
public static ResultSet Stm(String query) {
try {
dbunica=CrearConexion();
stmt = dbunica.createStatement();
Rs = stmt.executeQuery(query);
} catch (Exception err) {
System.out.println("Error: " + err);
}
return Rs;
}
public static void CerrarConexion() throws SQLException{
dbunica.close();
}
public static void CerrarRs() throws SQLException{
Rs.close();
}
public static void CerrarStm() throws SQLException{
stmt.close();
}
public static Connection CrearConexion(){
String host = "192.168.99.2";
String db = "ASSAL_PRUEBA";
int puerto = 1433;
String usuario = "sa";
String contrasenia = "saadmin123";
String url = "jdbc:microsoft:sqlserver://" + host + ":" + puerto
+ ";DatabaseName=" + db + ";";
try {
// Conexion para consultar
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
dbunica = DriverManager.getConnection(url, usuario,contrasenia);
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dbunica;
}
}
Si tienen alguna sugerencia, bienvenida sea.
Muchas gracias
Valora esta pregunta


0