Foros del Web » Programación para mayores de 30 ;) » .NET »

como cargar rapido una bd de fox

Estas en el tema de como cargar rapido una bd de fox en el foro de .NET en Foros del Web. hola de nuevo aki moelstando espero m puedan ayudar estoy con un sistemas ya casi terminado pero necesito saber como hacer k cargen mas rapido ...
  #1 (permalink)  
Antiguo 29/10/2009, 11:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
como cargar rapido una bd de fox

hola de nuevo aki moelstando espero m puedan ayudar estoy con un sistemas ya casi terminado pero necesito saber como hacer k cargen mas rapido las tablas de fox son aproximadas de 100mb pero tardan casi 50 seg ay alguna forma para k lo cargue a la mitad de tiempo???????
muchas gracias alos que respondan
  #2 (permalink)  
Antiguo 29/10/2009, 11:56
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: como cargar rapido una bd de fox

Como es que estás accediendo a los datos?? Nunca he trabajado con tablas de fox, pero en una oportunidad cargué medio millón de registros de una tabla SQL Server en 40 segundos usando DataAdapter y DataSet, cuando probé la misma cantidad usando DataReader y Generics lo hizo en 3 segundos.
__________________
Eduardo Peredo
Wigoin
  #3 (permalink)  
Antiguo 29/10/2009, 13:09
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: como cargar rapido una bd de fox

hola mil gracias por responder pues mira estoy ocupando c# y pues lo hago mediante ODBC
public string conecta()
{
return "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=W:\\";
}

esa es la de conexion de la ruta

public Boolean existeBD(string commandSQL)
{
using (System.Data.Odbc.OdbcConnection dbConn = new System.Data.Odbc.OdbcConnection(conecta()))
{
try
{
dbConn.Open();
System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(commandSQL, dbConn);
DataTable dt = new DataTable();
da.Fill(dt);
return true;
}
catch
{
return false;
}

}
}

public DataTable devuelveDataTable(string commandSQL)
{
//using (System.Data.OleDb.OleDbConnection dbConn = new System.Data.OleDb.OleDbConnection(conecta()))
using (System.Data.Odbc.OdbcConnection dbConn = new System.Data.Odbc.OdbcConnection(conecta()))
{
try
{
dbConn.Open();
//System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(commandSQL, dbConn);
System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(commandSQL, dbConn);
DataTable dt = new DataTable();
da.Fill(dt);
dbConn.Close();
return dt;

}
catch
{
return new DataTable();

}

}
}

y con esta hago la conexion lo hago doble pk asi m dice si la base esta o no y pues de ahi lo jalo con con un boton poniendo la bd pork van cambiando de nombre

private void Boton_busca_Click_1(object sender, EventArgs e)
{
String DBSelected = "C" + anio1.Text + comboBox_quincena.Text + "N.DBF";
String commandSQL = "Select Rfc, Nombre, Plaza, Cheque, Edo_ud, Cct, Liquido, Banco, Ctabco, Bco_pza from " + DBSelected ;
if (funciones.existeBD(commandSQL))
{
dt_Todo = funciones.devuelveDataTable(commandSQL);
textBox6_RFC.ReadOnly = false;
button2.Enabled = true;

y ya con esto lo jalo la bd de datos pero tarda ese tiempo o veces un pokito mas si tienes algun ejemplo te lo agradeceria muchisisimo o no se por ahi tenga un error o me sugieres alguna forma para cambiarlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:11.