amigos, buen dia
tengo un sistema en vfox que trabaja con base de datos en sqlserver express 2005. anda perfecto.
el tema es que tengo que cambiarlo a firebird por compatibilidad con otro sistema. y a partir de ahi, estuve viendo ejemplos (de Walter Ojeda Valiente) que se conecta directamente con instrucciones ya nativas de fox (SQLCONNECT, sqlExec, etc) usando ODBC
la forma de conexión y consulta que uso ahora (para ADO) es la sgte:
conexion
LPARAMETERS pStringConnect as Character
this.loConnection = CREATEOBJECT("ADODB.Connection")
this.loConnString = pStringConnect
this.loConnection.Open(this.loConnString)
Consulta
LPARAMETERS lcQuery as String , cNombreCursor as string
** Creamos el objeto Cursor Adapter
this.locursoradapter = CREATEOBJECT("CursorAdapter")
** Asignamos el tipo de datos que recibirá
this.loCursorAdapter.DataSourceType="ADO"
this.loCursorAdapter.MaxRecords = -1
this.loRecordSet = this.loConnection.Execute(lcQuery)
this.loCursorAdapter.Alias = cNombreCursor
this.loCursorAdapter.CursorFill(,,,this.loRecordSet)
this.loCursorAdapter.CursorDetach()
SELECT &cNombreCursor
GO bottom
GO TOP
Ejecutar instrucción en sql
LPARAMETERS lcQuery as String
this.lorecordSet = CREATEOBJECT('adodb.recordset')
this.loconnection.Execute(lcQuery)
this.dbconectar(this.loConnString)
this.loconnection.Execute(lcQuery)
obviamente las cadenas de conexíón entre ODBC y ADO son distintas.
pero mi pregunta va hacia las diferencias y conveniencias entre usar uno u otro, sobre todo ahora aplicado a firebird.
cual es más rápido? o de qué depende la velocidad entre una y otra forma de conexión?
o que otros aspectos tendría que tener en cuenta para elegir el tipo de conexión?
desde ya y como siempre muchas gracias
saludos
Luis
Cördoba, Argentina