Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Componentes Para Firebird (https://www.clubdelphi.com/foros/showthread.php?t=57797)

pmtzg 27-06-2008 16:26:52

Componentes Para Firebird
 
Hola Compañeros
he estado haciendo unas pruebas con
Firebird 2.1, delphi 7

y me gustaria que me dieran su punto de vista en lo siguiente:

Por lo que he leido aqui y las pruebas que he realizado

hay dos tipos de como accesar a una base de datos firebird

- Con el servidor Intalado completo
- El Servidor Embedded (solo 1 conexión puede accesar)

si tengo una base de datos firebird y creo la base y tablas con
- Mdo Mercury DAta Objects
y trabajo con ella tanto con el servidor instalado y como embedded
no hay ningun problema, incluso accesado a ella por medio de ODBC
para crystal report XI de las 2 formas

si esto mismo creo la base y tablas con:
-IBX y acceso con crystal report XI por medio de ODBC
- con la opcion Embedded tengo problemas no me arranca bien
me dice que no hay conexión y tampoco puedo accesar con ODBC
para sacar información con Crystal report XI
Solo puedo hacerlo si copio el fbclient.dll que esta en el directorio
de firebird de la carpeta bin y lo deposito en el raiz de mi aplicación
y que este activo el servidor ahi si me correo tanto la aplicación y el ODBC para crystal report.

Una más. (si uso libreria fbclient.dll, embedded)
si en la misma aplicación uso primero MDO y despues IBX
para trabajar con la base, despues de utilizar MDO y quiero accesar a la misma
base con IBX me dice que no se puede accesar a ella por que esta siendo
utilizada por otro proceso, se muy bien que embebido solo es 1 conexión
y creo que es por eso
Pero si antes de utilizar IBX cierro por completo la tabla que abri con MDO
que no se supone que si puedo utilizar la base con IBX
la instrucción que le doy es la siguiente:
Código Delphi [-]
MDOdatabase.close;
Incuso cierro la tabla;
Código Delphi [-]
MDOtable1.close;
y desactivo las transacciones.

¿no es suficiente para cerrar por completo una base de datos?
o hay alguna otra instruccion para cerrar por completo la tabla
y que no quede rastro que se abrio la tabla antes con otro componente?????

mas sin encambio como mencione anteriormente
si copio fbclient.dll de la carpeta de firebird (osea del servidor )
y la deposito en el raiz de mi aplicación y tengo prendido el servidor
de firebird, de esta manera no tengo ningun problema

Me pordrian dar una ayudadita ... si existe forma de cerrar por completo
la base de datos y se pueda utilizar la misma base con otro componente??

nota: se preguntaran por que 2 componentes, pues si trabajo con puro MDO
ahi no tengo problemas como mencione tanto con el servidor firebird como embedded.
pero lo que realizo es transpaso de tablas de Paradox a Firebird
y los componentes IBX son muy rapidos en translado de información
de paradox a firebird lo hace en 25 minutos
y si uso MDO o Zeos el tiempo de translado es hasta de 1 hra y media

gracias por su tiempo.

Delfino 14-07-2008 15:31:35

Cita:

y si uso MDO o Zeos el tiempo de translado es hasta de 1 hra y media
Estas seguro?

A mi las pruebas con MDO y IBX me han dado los mismos resultados :)

Los Zeos si q son lentos :(

Casimiro Notevi 14-07-2008 18:19:48

Cita:

Empezado por Delfino (Mensaje 300291)
Estas seguro?

A mi las pruebas con MDO y IBX me han dado los mismos resultados :)

Los Zeos si q son lentos :(


Efectivamente, MDO e IBX son practicamente iguales.

Zeos es más lento.

pmtzg 15-07-2008 00:41:53

Efectivamente
 
Cita:

Empezado por Casimiro Notevi (Mensaje 300370)
Efectivamente, MDO e IBX son practicamente iguales.

Zeos es más lento.


asi es compañertos
he hecho mi aplicación con puro MDO y es lento

pero si uso puro IBX 7.04 es muy rapido

MDO hasta 1.30 hras
IBX en tan solo 35 min
con las ultimas actualizaciones de mis tablas

creo que para ustedes es raro
pero le sufri un rato por que tanto MDO e IBX me lanzaba un error
cuando la tabla era de mas de 500,000 registros con la leyenda

OUT OF MEMORY

hasta que le encontre

si ustedes an usado MDO y les ha resultado Rapido , me gustaria
que me dieran su punto de vista ...
yo uso MDO 0.9.0

espero sus comentarios; si me gustaria saberlo por que tengo entendido
que IBX no se acopla mucho a las bases de datos Firebird
mas sin encambio MDO si , aunque creo que MDO ya no ha sufrido cambios
y el unico soporte que encuentro es en Portugues

NOTA: si saben noticas nuevas de MDO por favor pasenlas
gracias compañeros

Casimiro Notevi 15-07-2008 07:34:41

Cita:

Empezado por pmtzg (Mensaje 300505)
[..]
creo que para ustedes es raro
pero le sufri un rato por que tanto MDO e IBX me lanzaba un error
cuando la tabla era de mas de 500,000 registros con la leyenda
OUT OF MEMORY[..]

¿Pero haciendo el qué?, porque es muy distinto realizar una consulta a una tabla que tenga 500.000 registros... a traerse 500.000 registros y querer, por ejemplo, meterlos en un TMemo.
En el primer caso no importa si la tabla tiene 500.000 ó 5.000.000 de registros. En el segundo caso es problema del sistema operativo, del componente, de los recursos del equipo, etc.

Con esto no quiero decir que el problema no sea de MDO, sino que habría que saber exactamente qué estás haciendo y buscar al causante de ese problema.

En principio, como ya se ha comentado antes, MDO, IBX y FIBplus son muy parecidos porque son todos hijos del mismo padre: FreeIB Components, escrito por Greg Deatz.

pmtzg 16-07-2008 15:21:50

Cita:

Empezado por Casimiro Notevi (Mensaje 300532)
¿Pero haciendo el qué?, porque es muy distinto realizar una consulta a una tabla que tenga 500.000 registros... a traerse 500.000 registros y querer, por ejemplo, meterlos en un TMemo.
.

Hola
Mira lo que estoy haciendo es pasar de tablas Paradox a Firebird
use Componentes Zeos... que si son lentos al hacer el traspaso
Use MDO y tambien me tardo el mismo tiempo 1 hra .30
e IBX que me tarda 35 min en pasar 9 tablas, unas tablas son pequeñas
y tengo 2 tablas que son relativamente grandes
una mide como 200,000 y la 9 tabla mide como 500,000 registros
en esta cuando llegaba al 50% mas o menos me lanzaba el error
OUT OF MEMORY ... esto tanto en MDO como en IBX
hasta que buscando en internet le encontre el problema

Pero aqui lo que me comentas es que tanto MDO, IBX y Fib
son casi iguales
y eso no es el problema, donde me quedo muy extrañado es por que
si MDO e IBX son parecidos por que cuando hago la transferencia
de tablas IBX me resulto mas rapido que MDO

voy a tener que checar por que y se me hace muy interesante esto

gracias por tu comentario son muy buenos

recibe un saludo

maeyanes 16-07-2008 15:38:31

También te recomiendo probar con Unified Interbase (UIB) http://www.progdigy.com/?page_id=5

Saludos...

Delfino 18-07-2008 10:18:14

Cita:

si MDO e IBX son parecidos por que cuando hago la transferencia
de tablas IBX me resulto mas rapido que MDO
Sera q alguna propiedad no esta establecida de igual manera ..
Cita:

hasta que buscando en internet le encontre el problema
Cual era el problema???

pmtzg 22-07-2008 00:25:12

Cita:

Empezado por Delfino (Mensaje 301281)
Sera q alguna propiedad no esta establecida de igual manera ..

Cual era el problema???

mi problema se corrigio hasta que agrege estas lineas :

Código Delphi [-]
 
IBTabla1.UniDirectional:=true;




y se corrigio mi problema, y ya no hubo más
OUT OF MEMORY


La franja horaria es GMT +2. Ahora son las 14:30:18.

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