Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2007
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool No se banca datos KiloMetricos

Hola amigos del foro

Otra vez aqui comunicandonos y yo planteando problemas. Esta vez se trata de una base de datos creada con Acces que contiene muchos millones de registros, mas de 40 millones para ser algo mas preciso (PAdron Electoral Argentino). El tema es que cuando quiero acceder a esta base de datos con los clasicos TAdoConection y TAdoTable, al realizar Adotable1.Open comienza a leer el disco y se tarda unos minutos para finalmente devolverme un error que dice que FALTA MEMORIA. Me da la impresion que quisiera cargar todos los registros en memoria al mismo tiempo. Mi idea era desarrollar una aplicacion que pudiera administrar esta base de datos realizando diversas consultas. Pero encontre este escollo en el primer paso y no puedo resolverlo. En definitiva no puedo conectar mi aplicacion con la base de datos. Estoy leyendo manuales que busque en internet de ADO y Deplhi, pero la verdad es que no me dicen nada al respecto. ¿Alguien sabra algo por aqui?
Responder Con Cita
  #2  
Antiguo 02-06-2007
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Hola casacham,

No conzco muy bien el funcionamiento de estos componetes, pero te puedo decir que la utilización de un componente TTable no es muy recomendada, precisamente por que la tabla se carga toda en memoria con el open, pues no se le da ninguna restricción...

Lo mas recomendado es utilizar un componente TQuery (supongo que existirá un TAdoQuery, o algo asi) y traer los registros filtrados, solo el o los que necesites (nunca vas a necesitar en pantalla a los 40 millones, ni siquiera tendria sentido tener cargados al tiempo 10.000 o 1.000 registros al tiempo (aunque uno nunca sabe)....

Podrias en un caso extremor querer tener en pantalla todas las personas que votan en una misma mesa o un mismo lugar... en fin...

Por otro lado, te recomiendo que cambies tu motor de base de datos, pues Access es una base de datos "de combate" y como todos los productos M$ se comen todos los recursos del sistema para poder trabajar.... hay otras opciones que tambien funcionan como base de escritorio que son muy buenas... InterBase, PostgreSQL (la recomiendo), Sql-server, etc.

Bueno no sabria en que mas ayudarte... por ahora no se si puedes hacer esta consulta en esa base de datos y me envias los resultados para mirar unos aspectos tecnicos...

SELECT DIRECCION, TELEFONO, E_MAIL
FROM ELECTORES
WHERE NOMBRE='NATALIA'
AND APELLIDO='OREIRO'

Responder Con Cita
  #3  
Antiguo 02-06-2007
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Fraude electoral

Wow, que harás o que planearás hacer con el padrón electoral argentino, mmm, no creo que sea algo bueno.

Más bien a mi no me gustaría que esa información estuviera al alcance de cualquiera.
__________________
Herr Heins Faust
Responder Con Cita
  #4  
Antiguo 03-06-2007
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Un médico cirujano, programando en Delphi, contra el Padrón Electoral Argentino, que es una base de datos de 40 milllones de registros, montada en Access!!!!

Si esto no es surrealismo entonces ya no se que lo sería...

Un saludo, Doitor...
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #5  
Antiguo 03-06-2007
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool No tiene nada que ver

Lo lamento por xander y por Faust . El hehco de que opinen asi es que son gente de poco confiar, com podría encargarles que realizaran una aplicacion para una empresa si estan pensando en utilizar datos para objetivos no aprobados, es de poca etica lo que sus lineas denotan detras de ustedes. A ver, que es lo que se puede hacer o no con eso, es algo que no les interesa. Ademas aqui no se les esta pidiendo que opiniones sobre utilidad o no de datos, para el chismoserio existen otros foros donde sus comentarios tal vez sean aplaudidos. Aqui a nadie le interesa esos comentarios.
Para los que les interese saber sobre el proyecto, estoy en un proceso de aprendizaje de programación de base de datos y necesitaba conseguir alguna con varios miles de registros, que mejor que lo que consegui. Millones de registros. El punto es aprender a manipular grandes volumenes probando los limites de Delphi. El desafio fue traspasar esos datos desde dBase a tablas de Acces, que con una aplicacion de Delphi lo logré. El punto es que delphi no puede abrir las tablas con los componentes mencionados ni siquiera con TAdoQuery ya que solo cambia la forma en que se conecta con la base de datos pero no el procedimiento madre, generandose el mismo error y demoras. Pero el desafio es: Si Acces puede abrir y manipular esa gran cantidad de datos, como no puedo hacerse a traves de Delphi. Debe existir alguna manera de lograrlo.

pd: voy a conseguirme tambien el padron mexicano para ver que hago con el. Todo esta en internet, solo es cuestion de bajarlo a tu ordenador
Responder Con Cita
  #6  
Antiguo 03-06-2007
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Ahora resulta que describir una situación particular como surrealista me hace un tipo de poca ética y de dudosa confiabilidad... vaya, generalmente las muchachas me dicen eso por ahí de la segunda o tercera invitación a cenar pero no de primera y pata... bueno, alguna vez tenía que suceder...

No se arlebreste doitor que no era en mal plan... solo yo con mi apestoso e irreverente humor negro, que nunca me doy a entender...

Tu problema debe ser la forma como te conectas a esa base de datos... seguro que cuando abres la tabla en acces no esta tratando de cargarse a memoria los 40 millones de registros.. y tu programa (dependiendo de la forma en como te conectes) al darle Open a la tabla o Consulta si lo está tratando de hacer... además no me imagino para que quieras abrir una tabla de 40 millones nomás así porque si, a menos que le quisieras pasar un super complicadisimo algoritmo de DataMining...

Mi recomendación... Access no es para esos trotes... si de verdad quieres aprender a manipular grandes cantidades de información, utiliza un servidor SQL y ahi si encontrarás muchas formas de explotar la información usando Vistas, Procedimientos Almacenados, Triggers y demas chunches... con access te limitarás más de lo que aprenderás...
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear base de datos y cargar datos desde delphi Albano MySQL 4 17-05-2007 20:01:18
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11-02-2007 15:17:37
Como pasar datos de una hoja de Excel a Bases de Datos de Paradox Goyo OOP 1 06-02-2007 01:57:20
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08-09-2003 19:44:52


La franja horaria es GMT +2. Ahora son las 17:23:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi