Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-09-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 26
guillotmarc Va por buen camino
El soport de Firebird en D2010 Enterprise es mediante un driver dbExpress. Si quieres usar un driver dbExpress libre para suplir la falta en D2010 Professional, puedes usar éste (yo lo he probado y en principio todo me ha funcionado bien) :

http://sites.google.com/site/dbxfirebird/

La distribución de una aplicación que se conecta a las bases de datos por driver dbExpress es bastante más sencilla que en una aplicación que utiliza ODBC, puesto que solo tienes que distribuir una librería dll en la misma carpeta de tu aplicación.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #2  
Antiguo 30-09-2010
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por guillotmarc Ver Mensaje
El soport de Firebird en D2010 Enterprise es mediante un driver dbExpress. Si quieres usar un driver dbExpress libre para suplir la falta en D2010 Professional, puedes usar éste (yo lo he probado y en principio todo me ha funcionado bien) :

http://sites.google.com/site/dbxfirebird/

La distribución de una aplicación que se conecta a las bases de datos por driver dbExpress es bastante más sencilla que en una aplicación que utiliza ODBC, puesto que solo tienes que distribuir una librería dll en la misma carpeta de tu aplicación.
Excelente dato, no conocía la existencia de dicho driver, gracias guillotmarc
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 01-10-2010
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 20
cesarsoftware Va por buen camino
Cita:
Empezado por guillotmarc Ver Mensaje
El soport de Firebird en D2010 Enterprise es mediante un driver dbExpress. Si quieres usar un driver dbExpress libre para suplir la falta en D2010 Professional, puedes usar éste (yo lo he probado y en principio todo me ha funcionado bien) :

http://sites.google.com/site/dbxfirebird/

La distribución de una aplicación que se conecta a las bases de datos por driver dbExpress es bastante más sencilla que en una aplicación que utiliza ODBC, puesto que solo tienes que distribuir una librería dll en la misma carpeta de tu aplicación.

Saludos.
¡MUCHISIMAS GRACIAS!
Despues de hacer funcionar ADO/ODBC he borrado todo y hasta he desistalado el driver ODBC y he usado la libreria dbxfirebird. TODO PERFECTO (de momento, jejeje).
En el siguiente mensaje indicaque su uso para que lo puedan usar todos los compañeros
Responder Con Cita
  #4  
Antiguo 01-10-2010
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 20
cesarsoftware Va por buen camino
Uso de dbxfirebrid

Lo primero que hay que hacer es bajarse la libreria de donde indica guillotmarc, yo he bajado la ultima version dbxFirebird.4.1.v26.zip.
Tras descomprimirla necesitamos los ficheros dbxfb4d14.dll y dbxdrivers.ini.
Los copiamos al directorio de nuestra aplicacion junto el cliente firebird fbclient.dll (o gds32.dll, el que mas nos guste).
Despues editamos el fichero dbxdrivers.ini y eliminamos las lineas "database" y "password" (o las dejamos) y cambiamos la lineas "libraryname" y "vendorlib" para quitarles el path que trae por defecto o le ponemos el nuestro, yo prefiero quitarselo y asi busca las dll en el directorio de nuestra aplicacion.

El fichero dbxdrivers.ini quedara asi.
Código:
[Installed Drivers]
FirebirdConnection=1
[FirebirdConnection]
;DriverUnit=DBXInterBase
;DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCommonDriver120.bpl
;DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
;MetaDataPackageLoader=TDBXInterbaseMetaDataCommandFactory,DbxInterBaseDriver120.bpl
;MetaDataAssemblyLoader=Borland.Data.TDBXInterbaseMetaDataCommandFactory,Borland.Data.DbxInterBaseDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
GetDriverFunc=getSQLDriverFIREBIRD
LibraryName=dbxfb4d14.dll
VendorLib=fbclient.dll
BlobSize=-1
CommitRetain=False
ErrorResourceFile=Firebird.log
LocaleCode=0000
Password=masterkey
RoleName=RoleName
ServerCharSet=
SQLDialect=3
Interbase TransIsolation=ReadCommited
WaitOnLocks=True
Trim Char=False
A continuacion en nuestro codigo hacemos los siguiente:
En la clausula uses añadimos "SqlExpr, WideStrings, DB, DBXDynalink, FMTBcd;"
En la clausula public definimos el conector asi lo podemos usar en toda la aplicacion
SQLConnection: TSQLConnection;

Ya podemos escribir el codigo de apertura y uso
Yo prefiero darle algunos parametros como usuario, password, database, etc.

Código Delphi [-]
 
function TFormBBDD.AbreDataBase(): boolean;
var
  tIni, tFin: integer;
begin
  Result := False;
  SQLConnection := TSQLConnection.Create(Self);
  SQLConnection.DriverName := 'FirebirdConnection';
  SQLConnection.SQLHourGlass := True;
  SQLConnection.LoginPrompt := False;
  SQLConnection.Params.Add('ServerCharSet=WIN1252');
  SQLConnection.Params.Add('User_Name=SYSDBA');
  SQLConnection.Params.Add('Password=masterkey');
  SQLConnection.Params.Add('Database=servidor:d:\datos\base.fdb');
  tIni := GetTickCount();
  try
    SQLConnection.Open;
    tFin := GetTickCount();
    if SQLConnection.Connected then
    begin
      Result := True;
      Application.MessageBox('-> Conectado en ' + IntToStr((tFin - tIni) div 1000) + ' seg.', 'OK'); // evidentemente esta linea sobra
    end;
  except
    tFin := GetTickCount();
    SQLConnection.Free;
    Application.MessageBox(PChar('-> No conectado en ' + IntToStr((tFin - tIni) div 1000) + ' seg.' + #10 +
                           'consulte con el servicio técnico'), 'Error', MB_ICONERROR);
  end;
end;

Última edición por Casimiro Noteví fecha: 01-10-2010 a las 16:05:24.
Responder Con Cita
  #5  
Antiguo 01-10-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 26
guillotmarc Va por buen camino
Gracias por documentar la instalación.

Recuerdo que me costó al menos un par de horas ponerlo en marcha (tanto en el IDE como en el ejecutable), lamentablemente no lo documenté ya que solo estaba probándolo (estoy considerando seriamente dejar FibPlus en D2010 y volver a dbExpress, que es lo que utilizaba en D6).

Una vez configurado el driver y en marcha, todas las pruebas me funcionarion sin el menor problema.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #6  
Antiguo 01-10-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 20
Gallosuarez Va por buen camino
Talking Comentario...

Cita:
Empezado por guillotmarc Ver Mensaje
Gracias por documentar la instalación.

... (estoy considerando seriamente dejar FibPlus en D2010 y volver a dbExpress, que es lo que utilizaba en D6).

...
Que tal, un saludo a tod@s l@s forer@s.

Me gustaría que Guillotmarc nos comentara mas sobre su consideración de dejar FibPlus y volver a dbExpress, es mas, me gustaría que los demás foreros nos comentaran mas sobre las tecnologías que están utilizando en la creación de sus proyectos. Por cierto, por mi parte les puedo decir que estoy en el proceso de pruebas para cambiar mis sistemas (utilizaba Delphi 2006, los componentes para conectarme la base de datos que utilizaba eran IBObjects y la base de datos sigue siendo Firebird, por supuesto). Ahora, por el momento estoy haciendo pruebas con ExtJS ("Framework" que utiliza JAVA script y hojas de estilo), todo esto para la programación del "Front End". La capa intermedia que estoy utilizando para el manejo de conexión a la base de datos es PHP, aunque estoy, también, haciendo pruebas con SERVLETS (creo que es una tecnología mas robusta, aunque mas complicada), la base de datos es FIREBIRD, claro está.

Siendo un fanático del Sofware Libre, todo esto lo trabajo en Linux (CENTOS para servidores y Fedora 13 para las PC's de escritorio y Laptops). Aunque los proyectos que resultan de todo esta mezcla de tecnologías es multiplataforma, puesto que las aplicaciones las abres desde cualquier navegador de internet que uno le guste). Uff, ya me extendí bastante, mejor propongo la creación de un nuevo hilo y ahí nos podemos explayar a gusto (si los demás así lo quieren, claro está). Estoy pensando liberar todos mis documentos que he estado haciendo para hacer una pequeña contribución a lo mucho que yo he recibido.

Espero su comentarios,

Saludos,
Gerardo Suárez Trejo
Responder Con Cita
  #7  
Antiguo 01-10-2010
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 20
cesarsoftware Va por buen camino
Que menos quillotmarc, gracias a ti.

En cuanto a lo que propone gallosuarez solo comentar un tema.
Creo (en mi opinion) que cuantos menos componentes de terceros usemos, mas estable, mas controlable y mas portable sera nuestra aplicacion.
Con esto no quiero decir que no usemos componentes que nos puedan hacer mejor "la vida" pero que ha pasado al migrar a D2010, que los amigos de embarcadero "nos joden" un poco, yo he pagado por el producto, y luego me encuentro que no puedo migrar un moton de programas que ya he realizado, no puedo/debo (que ahora lo hago) usar 2 compiladores simultaneamente ¡QUIERO SOLO UNO!. Ya me paso con quick report, a la mier**da un monton de aplicaciones, entonces, ¿que hago? uso un componente de terceros, pero ¿me funcionara en mi nuevo compilador? casi seguro que no.
Por tanto, si se puede usar solo el IDE basico y el resto currartelo tu mismo, al principio cuesta mas, pero luego....jejeje, CONTROL TOTAL.

Pues eso, si puedo usar una libreria externa, un solo dll y luego el creador de esta lo mantiene pues mejor, pero lo mejor, es que el codigo que ya habia escrito con los componentes dbxpress (un monton de aplicaciones) me FUNCIONAN TODAS, NO TENGO QUE REESCRIBIR como por ejemplo al intentar usar ADO/ODBC que es lo que empece para evitar usar componentes de terceros. Y si es sobre libre, mejor.

Última edición por cesarsoftware fecha: 01-10-2010 a las 20:06:55.
Responder Con Cita
  #8  
Antiguo 04-10-2010
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 378
Poder: 24
lbuelvas Va por buen camino
Hola foro.

Pues les cuento, resulta que he trabajado con Delphi 6 + IBX + Firebird 1.5.6, adquirí licencia para RAD Studio 2007 hace un par de años, trate de migrar las aplicaciones pero desistí por falta de tiempo y he continuado con Delphi 6.

Ahora aparecen nuevas dificultades, mis aplicaciones compiladas con Delphi 6 no corren conectandome al motor Firebird 2.x, razon por la que estoy haciendo pruebas con "Delphi 2010" y con los componentes dbExpress.

Resulta que los dbExpress como son mas genericos que los componentes especificos IBX (construidos para Interbase no para Firebird) no tienen ciertas características que me son de mucha utilidad: Conocer el Plan de una Consulta por medio del método TIBSQL.Plan, Administrar Usurios, Roles y permisos con el componente TIBSecurityService de la pestaña Interbase Admin.

Como podrían hacerse estas cosas con los componentes dbExpress ?
__________________
Luis Fernando Buelvas T.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con odbc de firebird mr_mustard Firebird e Interbase 0 30-09-2006 20:04:49
odbc para firebird 1.5 ronimaxh Firebird e Interbase 2 18-08-2004 20:33:51
Sobre ODBC de Firebird rpadin Firebird e Interbase 1 18-08-2004 15:08:53
ODBC firebird Salomon Firebird e Interbase 5 10-05-2004 12:39:24
Firebird Odbc hecjona Noticias 1 30-03-2004 22:05:54


La franja horaria es GMT +2. Ahora son las 00:31:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi