Ver Mensaje Individual
  #9  
Antiguo 01-10-2010
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Reputación: 18
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 Notevi fecha: 01-10-2010 a las 16:05:24.
Responder Con Cita