Mejor forma de utilizar MDB ?¿
Publicado: Mar Jun 13, 2017 2:42 pm
Bien, tengo ya funcionando una de mis aplicaciones importante, que pueden seguir utilizando DBFs o ya corriendo perfectamente para BBDD MariaDB.
El caso que me ocupa ahora, es una duda de como "optimizar" o utilizar más correctamente la conexión al ServerMariaDB.
Resulta que cada vez que necesito leer datos del servidor...
WITH OBJECT oDS := TMariaDBDataSource():New( Self )
:cHost := AppData:cServerMDB
:cUser := AppData:cUserMDB
:cPassword := AppData:cPassMDB
:cDataBase := IF( cApp = "CWin", "cwin", "gwin" ) + cCodiEmp
:Create()
:lConnected := .T.
:Execute( "SET NAMES 'latin1'" )
aClients := :QueryArray( "SELECT * FROM clients ORDER BY codi" )
:Destroy()
END
Mi pregunta... sería, mejor/mas correcto/más rápido... que este 'objeto' oDS fuera PUBLICO y así no tener que conectar/desconectar cada vez que necesite de ello???
AppData:AddData( oDS )
WITH OBJECT AppData:oDS := TMariaDBDataSource():New( Self )
...
Y así poder acceder desde cualquier lado de la aplicación...
aClients := AppData:oDS:QueryArray( "SELECT * FROM clients ORDER BY codi" )
Y no tener que abrir/cerrar...
Gracias.
Un Saludo,
Xevi.
El caso que me ocupa ahora, es una duda de como "optimizar" o utilizar más correctamente la conexión al ServerMariaDB.
Resulta que cada vez que necesito leer datos del servidor...
WITH OBJECT oDS := TMariaDBDataSource():New( Self )
:cHost := AppData:cServerMDB
:cUser := AppData:cUserMDB
:cPassword := AppData:cPassMDB
:cDataBase := IF( cApp = "CWin", "cwin", "gwin" ) + cCodiEmp
:Create()
:lConnected := .T.
:Execute( "SET NAMES 'latin1'" )
aClients := :QueryArray( "SELECT * FROM clients ORDER BY codi" )
:Destroy()
END
Mi pregunta... sería, mejor/mas correcto/más rápido... que este 'objeto' oDS fuera PUBLICO y así no tener que conectar/desconectar cada vez que necesite de ello???
AppData:AddData( oDS )
WITH OBJECT AppData:oDS := TMariaDBDataSource():New( Self )
...
Y así poder acceder desde cualquier lado de la aplicación...
aClients := AppData:oDS:QueryArray( "SELECT * FROM clients ORDER BY codi" )
Y no tener que abrir/cerrar...
Gracias.
Un Saludo,
Xevi.