PDA

Ver la Versión Completa : como meter firebird en delphi


anubis
24-11-2007, 08:24:34
Buenas de nuevo. Tengo un pequeño problema, uso el delphi 7 y estoy buscando un tutorial sencillo para usar firebird con delphi y no morir en el intento.
Ya se que hay informacion pero no soy capaz ni con el embebido :(

Hice un programa en delphi con paradox, queria pasarlo a firebird pero nose como trabaja firebird en estos casos y si podria usar lo que tengo hecho por codigo con firebird

Ya se que es mucho pedir pero si me pudierais explicar, algo asi para dummies, como meto el firebird y como lo uso con delphi, sino un manual sencillo porque he buscado pero no se como interactuarlo o si hay que hacer conversiones nose.

Os lo agradeceria, ya que he visto mucho nivel aqui.

gracias

Casimiro Notevi
24-11-2007, 19:13:03
¿Has visto la información de la wiki del clubdelphi (http://wiki.clubdelphi.com/)?, seguramente te servirá.

anubis
25-11-2007, 04:47:57
se agradece, ya estuve mirando, en el apartado de firebird no viene gran cosa porque no esta completo, alguna sugerencia?

os lo agradezco

Delphius
25-11-2007, 04:58:36
se agradece, ya estuve mirando, en el apartado de firebird no viene gran cosa porque no esta completo, alguna sugerencia?

os lo agradezco
¿Que tipo de sugerencias deseas?
Digo.. ¿Te molestaría indicarnos cual es/son tu/s duda/s, tus errores y/o problemas? No se de que otro modo decirte pero es que dices que no terminas de comprender los manuales que viste... entonces aporta mayor información, porque no se para donde encarar mi respuesta. Si nos das alguna orientación te podremos ir guiando.
El manejo de Firebird con Delphi es análogo a cualquier otro motor... existen componentes análogos que hacen lo mismo. un TIBQuery hace lo "mismo" que un TQuery, un ADOQuery... un TIBTable es análogo a un TTable, y TADOTable. Lo que te puede resultar "extraño" es un TTransaction.

Saludos,

anubis
25-11-2007, 16:28:23
SE agradece delphius. Tienes razon, debo ser mas explicito.

Tengo un programa realizado en delphi pero que funciona con paradox, si quiero instalarlo en otro ordenador para que funcione instalo la libreria bdeinst.dll y funciona. El problema es que quiero hacer lo mismo con firebird, es decir que al meter el programa en otro ordenador se pueda instalar mas o menos asi, de ahi que mirara el embebido, pero tengo problemas para usarlo.
En segundo caso, con el programita que hay para crear las bases de datos, no hay problema, ya vi una forma en la pagina wiki, lo que nose es si me sirve lo que tengo hecho con los campos tipo fieldbyname o tengo que cambiarlos.
En resumen, como puedo instalar el embebido para usarlo con el delphi y como accedo a la base de datos con un pequeño ejemplo.

O algun manual facilito.

muchas gracias por el apoyo.

rastafarey
18-12-2007, 21:02:52
Has leido bien hacerca del firebird enbebido. Mira no es que no lo debas o puedas usar todo depende de para que lo vallas a usar. Mira si tu aplicacion es para una sola persona no hay problemas pero si va tener varios cleintes no lo derias usar.

Mira voy a tratr de responder todas las preguntas que hiciste por vi 3 o 4 pregutas.

1. meter firebird dentro de delphi. Como un archivo de recurso(Para mi la mas practica).
2. Como lo instala hay que verifcar varias cosas.
1- Que veriosnd e windows se esta usando. por que denediendo de esto hay que chequear como puede estar corriendo. como servicio o com aplicacion. Para ver si la version que esta cooriendo satisface tus necesidades de no ser asi tumbar o reintalar el que llevas como recurso.
2. Lo del fieldyname no creo que tengas que cambiar muchas cosa si usas componentes que deriven de tadaset ahora de no ser asi depende de que uses.

Espero que el resto de tus preguntas seas mas claro y hgas una pregunta a la ves.

anubis
19-12-2007, 14:13:27
Muchas gracias por el interes, la verdad es que teneis razon debo aclarar las preguntas y no hacer varias preguntas a la vez, sorry.

Resumo lo que quiero hacer:
Tengo una aplicación que va a funcionar en un solo ordenador, no esta en red ni se va a tener acceso a el. La base esta realizada en paradox, los accesos los hago como fieldbyname, locate, pero cuando hay algun error las tablas se corrompen y se pierden datos.
Estuve mirando varios manuales de firebird e interbase uno en ingles, firebird cookbook, pero me lio mucho sobre todo con este ultimo.
Tengo instalado el firebird 2.0, funcionando no como servicio sino como aplicacion, me baje tambien una aplicación GUI para crear las bases de datos en firebird, ibsql y los componentes ZEOS.

Lo que necesito es una idea basica de como conectar firebird en delphi y que funcione y si me sirve lo que ya tengo hecho en codigo (fieldbyname) y una vez que me funcione en mi ordenador poder pasar la aplicación a otro usando el firebird embeded (ya he visto que hay que copiar librerias y renombrar otras)

Mas que nada porque los documentos de firebird que he leido empiezan completos y me lio, como el refran "los arboles no te dejan ver el bosque".

Algo asi como cuando se empieza a programar, con cosas sencillas que vas de menos a mas.

Muchas gracias por vuestro interes y perdonadme por la extension.

Casimiro Notevi
19-12-2007, 20:02:27
Puedes empezar por este estupendo libro.
La cara oculta de delphi. (http://www.terawiki.clubdelphi.com/archivos/Delphi-Win32/Libros/LaCaraOcultaDeDelphi4.pdf.zip)

jachguate
19-12-2007, 20:40:35
Sobrel el desarrollo y posterior distribución de tu aplicación, lo único que falta hacer es lo que ya has dicho.

Vos podes programar la aplicación en tu equipo con el firebird que ya tenes instalado (el server), sin preocuparte de cómo corre. Adelanto que si no sabes cómo está corriendo, es porque está instalado como servicio... si no fuese así, creeme que lo sabrías.. :D

Luego, para distribuir tu aplicación, pues basta copiar el exe, el firebird embedded con la dll renombrada como haga falta (depende de las bibliotecas de acceso a datos que estes usando... si reconocen a firebird como tal, fbclient.dll, si reconocen a interbase, gds32.dll). Que los archivos del embedded estén en la misma carpeta que tu aplicación y listo.

Si vas a distribuir la aplicación a muchos sitios, podes hacer que la copia de archivos se realice mediante un instalador que automatice las tareas necesarias.

Francamente, es muy fácil, y vos ya lo sabías todo ;)

Hasta luego.

;)

tefots
19-12-2007, 23:23:04
cualquiera de los componentes existentes para acceso a firebird te van a valer y no vas a tener que cambiar mucho código. el fieldbyname y todo lo demas es exactamente igual ya que todos derivan de tdataset.

la única diferencia es que en firebird existen las transacciones , y según los componentes que elijas tendrás que usar dicho componente ( o no)

tal vez lo mas facil seria que siguieras usando el bde , y para no cambiar nada de codigo , podrias configurarlo para que usara un driver odbc de firebird , de esta forma ni siquiera tendrias que cambiar los componentes , para obtener el driver odbc en www.ibphoenix.com .

si vas a cambiar los componentes , puedes usar especificos de firebird como los mdo , ibobjects , freeib , etc. pero yo aconsejo usar ADO ya que es bastante potente y te independiza de la base de datos y el tema de transacciones lo encapsula muy bien, eso si , tambien te hace falta instalar el driver ado para firebird correspondiente.

saludos.

jachguate
20-12-2007, 00:30:55
la única diferencia es que en firebird existen las transacciones , y según los componentes que elijas tendrás que usar dicho componente ( o no)

En todas las bases de datos serias que conozco existen las transacciones, no solo en firebird. El tema de que ciertos componentes de "obligan" a configurar y manipular un componente específico para manejar la transacción es otra cosa... eso si lo he visto solo en firebird. Específicamente IBX y MDO. Realmente no es del todo malo... simplemente es diferente.

tal vez lo mas facil seria que siguieras usando el bde

Talvez sea lo mas fácil... pero es lo mas desaconsejado. Se ha dicho muchas veces. El BDE está marcado como obsoleto por Borland/CodeGear, creo que desde delphi 4 o 5 que no sufre actualizaciones y no habrán en el futuro, según han dicho.

Si queres un motor "genérico", CodeGear apuesta por DBeXpress... que tampoco te obliga a usar transacciones explicitas. Si queres algo específico, yo estoy por IBObjects, que de hecho tienen unos componentes "a la BDE" y hay hasta un utilitario que te convierte aplicaciones BDE a IBO (nunca lo he usado, pero según dicen funciona bastante bien).

Hasta luego.

;)

anubis
10-01-2008, 07:53:02
Gracis a todos por las respuestas. Pero tengo una duda gorda. En delphi he aprendido a programar usando la cara oculta de delphi y el consabido prueba y error, en bases de datos ando muy perdido, aunque uso el paradox. Todo esto lo digo para resumir, porque en cuestion de firebird no he enocntrado nada que me sirva, quiza sea bastante burro, sorry, pero me estoy liando bastante. No hay algo sencillo para empezar a hacer una minibase con una tabla, y poder usarla en el delphi?.

os agradeceria la ayuda porque ya nose donde recurrir, ni siquiera a los datos de la pagina en español de firebird.

gracias y perdon

jachguate
10-01-2008, 17:24:35
en cuestion de firebird no he enocntrado nada que me sirva, quiza sea bastante burro, sorry, pero me estoy liando bastante. No hay algo sencillo para empezar a hacer una minibase con una tabla, y poder usarla en el delphi?.

Si usas actualmente paradox, podes seguir usando el BDE para entrarle a Firebird, como ya he mencionado en mi post anterior en este hilo. Si ya usas un componente TDatabase, dale doble clic, elegí el driver de INTRBASE y de allí en adelante, pues muy parecido a paradox.

Para que esto funcione, debés elegir la opción de copiar la biblioteca cliente de firebird como gds32.dll, creo que dice "support legacy applications" o algo así. Como podes deducir de esto, tu aplicación cree que es interbase, pero en realidad es firebird.

Repasá los capítulos de base de datos de la cara oculta, se te aclararán algunas cosas.

Hasta luego.

;)

Casimiro Notevi
10-01-2008, 18:48:11
En la cara oculta de delphi encontrarás bastantes y muy buenos ejemplos.