Java - Problemas serios de velocidad con jdbc

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Problemas serios de velocidad con jdbc

Publicado por Yamil Bracho (2315 intervenciones) el 11/04/2006 23:27:57
SQL Server tiene tiempos de respuesta no adecuados cuando se trata de sentencias dinamicas. Te recomiendo :

1) Usa un PreparedStatement
2) Usa Stored procedures (MEJOR)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas serios de velocidad con jdbc

Publicado por Danix (6 intervenciones) el 12/04/2006 14:04:23
hasta que apareciste !!! Grande Yamil!!! a vos te tienen que hacer un monumento .
entonces me quedo tranquilo que no es el driver?, tarda aproximadamente 1 minuto en hacer un select simple de una tabla, lo que estoy usando ahora es un ConnectionWrapper, pero igual tarda en promedio 100 milisegundos y usar stored procedures por un select simple es medio al pedo, ¿Que diferencia hay entre un PreparedStatement y un Statement?.

Desde ya muchas gracias por tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar