Página 1 de 1

Apertura base de datos

Publicado: Mar Feb 07, 2006 11:54 am
por Paco Gomis
Hola
Tengo una aplicación que estoy intentando pasar a Xailer, al ser una
aplicación multipuesto, las bases de datos (dbf)las abria al inicio de la
aplicación, con Xailer, las he pasado a ADS, y las abro en el formulario.
Mis dudas:
1- ¿ Seria mejor si abriese la base de datos al inicio de la aplicación ?
2 - De ser asi ¿como debo habrirlas y enlazarlas con el TDbfDataSet del
formulario?
3 - Al cerrar un formulario con TDbfDataSet ¿se cierra la base de datos?
4 - Y por ultimo que me aconsejan que habra la aplicación desde un mismo
puesto con multiple instancia, o que el ejecutable este en todos los puestos
y las bases de datos en uno.
Desde ya gracias por sus respuestas
Un saludo
Francisco Gomis
fvgomis@ono.com

Apertura base de datos

Publicado: Mié Feb 08, 2006 9:47 am
por ignacio
Paco,
> 1- ¿ Seria mejor si abriese la base de datos al inicio de la aplicación ?
Si. ADS donde más tarda es en la apertura de tablas. No es ninguna mala idea
abrir todas al principio. De hecho en la última versión de xharbour hay una
función para que las tablas no se cierren realmente hasta que se salga de la
aplicación: AdsCacheOpenTables( nAreas )
> 2 - De ser asi ¿como debo habrirlas y enlazarlas con el TDbfDataSet del
> formulario?
De momento no tenemos el diseño de componentes públicos para toda la
aplicación pero estarán en breve. De momento puedes crearlos por código
utilizando la clase AppData. Ejemplo:
WITH OBJECT AppData
:AddData( "oDataSource" )
:AddData( "oDbfClientes" )
:AddData( "oDbfArticulos" )
AdsCacheOpenTables( 100 )
With object :oDataSource := TAdsDataSource():Create()
:cConnect := "..."
:cUser := "..."
:cPassword := ".."
:lRightsCheck := .f.
:lUseDictionary := .t.
:lConnected := .t.
AppData:oDbfClientes := :NewDataSet( "clientes" )
AppData:oDbfArticulo := :NewDataSet( "articulos" )
:OpenProcess()
end with
END
En el evento OnCreate de cualquier DataControl se haría la asignación del
DataSet correspondiente:
oSender:oDataSet := AppData:oDbfClientes
> 3 - Al cerrar un formulario con TDbfDataSet ¿se cierra la base de datos?
Si, si el DataSet es un COMPONENTE del propio formulario. En el ejemplo
anterior NO.
> 4 - Y por ultimo que me aconsejan que habra la aplicación desde un mismo
> puesto con multiple instancia, o que el ejecutable este en todos los
> puestos y las bases de datos en uno.
Depende de la velocidad de tu red y del tamaño del ejecutable. Yo
personalmente pongo los ejecutables en un directorio dentro de la red y
cualquier usuario lo ejecuta desde allí sin problemas. Tiene la gran ventaja
de que la actualizacion del ejecutable es sencilla ya que no hay que tocar
nada en los puestos. Te recomiendo que utiilces la utilidad UPX para
comprimir el EXE, que se encuentra dentro del directorio Bin.
Saludos,
"Paco Gomis" <fvgomis@ono.com> escribió en el mensaje
news:43e87c31$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola
> Tengo una aplicación que estoy intentando pasar a Xailer, al ser una
> aplicación multipuesto, las bases de datos (dbf)las abria al inicio de la
> aplicación, con Xailer, las he pasado a ADS, y las abro en el formulario.
> Mis dudas:
> 1- ¿ Seria mejor si abriese la base de datos al inicio de la aplicación ?
> 2 - De ser asi ¿como debo habrirlas y enlazarlas con el TDbfDataSet del
> formulario?
> 3 - Al cerrar un formulario con TDbfDataSet ¿se cierra la base de datos?
> 4 - Y por ultimo que me aconsejan que habra la aplicación desde un mismo
> puesto con multiple instancia, o que el ejecutable este en todos los
> puestos y las bases de datos en uno.
> Desde ya gracias por sus respuestas
> Un saludo
>
> Francisco Gomis
> fvgomis@ono.com
>
>
>

Apertura base de datos

Publicado: Mié Feb 08, 2006 7:31 pm
por Paco Gomis
José
Gracias, hare pruebas sobre tus explicaciones
Saludos
Francisco Gomis
fvgomis@ono.com