FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ADO y Access apertura de bases de datos
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
ADO y Access apertura de bases de datos
Posted: Thu Sep 02, 2010 10:23 AM

Hola amigos...
El tema de consulta es este, tengo una aplicacion con una base de datos de access que recibe actualizaciones permanentes via FTP desde distintos lugares.
Lo que hago actualmente es abrir la comunicacion con la base con oCon:= tOleAuto():new('ADODB.Connection') cada vez que alguien envia datos nuevos y cerrarla con oCon:close()
al terminar.
Pregunta: es posible mantener abierta la comunicacion con la DB en forma indefinida y abrir y cerrar solamente el recordset ? o es preferible hacer lo anterior

saludos a todos

Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: ADO y Access apertura de bases de datos
Posted: Thu Sep 02, 2010 03:16 PM

Hola,
No trabajo con ADO, pero se me ocurre que en vez de cerrar la conexion, podrias "refrescar" el objeto cada cierto tiempo con un TIMER
oRs:Source:Refresh() o algo asi,,,
Salu2

Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Re: ADO y Access apertura de bases de datos
Posted: Sat Sep 04, 2010 01:55 AM

Estimado rterraz

No he trabajado con ftp, y tampoco tengo claro si usas rcordsets . Aunque seg煤n veo usas ftp para subir archivos. En mi caso uso adostream para subir cualquier archivo binario al servidor MySql.
De todas formas lo que si es seguro que puedes mantener abierta la conexi贸n durante el uso de la aplicaci贸n.

Con esa conexi贸n abierta puedes abrir un objeto recordset, ejecutar un objeto command o abrir una conexion stream

No estoy seguro cual de los objetos usas para el ftp .

Tambi茅n hay que tener en cuenta que dependiendo de la configuraci贸n del servidor 茅ste puede cerrar la conexi贸n despu茅s de cierto tiempo de inactividad.

Es todo lo que puedo aportar

Un saludo

Marcelo Jingo

Marcelo Jingo
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
Re: ADO y Access apertura de bases de datos
Posted: Sat Sep 04, 2010 04:06 PM

Hola Marcelo, gracias por tu respuesta

yo lo que hago es subir a un servidor via ftp desde distintos lugares un archivo XML que se procesa en el servidor.
Hace una cantidad importante de verificaciones y dependiendo del resultado de las mismas va llenando diferentes tablas de una base de access a la que accedo desde mi aplicacion usando ADO.
LAs transacciones llegan constantemente y yo estoy abriendo y cerrando la conexion con access cada vez que proceso una de ellas.
Lo que quiero hacer es dejar la conexion con la base de access abierta permanentemente y solo abrir y cerrar los recordset necesarios.Mi preocupacion es estar seguro de que procediendo asi no haya mas posibilidades de que ocurran errores en la base de datos. Antes usaba el FWH con bases DBF y mi costumbre era abrirlas y cerrarlas al terminar cada proceso para evitar errores y corrupciones de los indices.
Creo que estas bases de datos relacionales son mas seguras en ese sentido pero aun no tengo mucha experiencia con su uso y el acceso atraves del SQL y es por eso que pregunto !!!!

saludos
Raul Terraz

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: ADO y Access apertura de bases de datos
Posted: Sat Sep 04, 2010 04:18 PM

Ra煤l,

Puedes tener abierta tu base todo el tiempo en que tu aplicativo est谩 en ejecuci贸n.

Cargas tus datos con RecordSet al inicio. No hace falta que lo cierres. Simplemente, con un Timer, cada cierto tiempo haces un oRecordSet:Requery() y a continuaci贸n un oRecordSet:Refresh().

Saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: ADO y Access apertura de bases de datos
Posted: Sat Sep 04, 2010 04:23 PM

Ra煤l,

En el proceso que sea invocado por el Timer, no olvides, antes del oRecordSet:Requery(), verificar que no se haya ca铆do la conexi贸n a tu servidor.

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Continue the discussion