FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#4
|
|||
|
|||
Buenas noches
A mi si me ha funcionado en Delphi 10.2 Community Edition en windows 10 de las dos formas, tanto en código como en el DataExplorer, aunque si ha sido confuso la forma de instalar el driver, sobre todo dónde colocar el archivo dbx4fb.dll. Resumo cómo lo instalé por si le sirve a alguien: 1. Descargué la versión dbxFirebird.4.1.v56 y la descomprimí, aparecen tres carpetas: Demo, Win32 y Win64 2. En la carpeta 'C:\Program Files (x86)\Embarcadero\Studio\19.0\bin' copié el archivo dbx4fb.dll que estaba en la carpeta Win32 descomprimida (este es el que yo uso porque el Firebird que tengo instalado es el de 32 bits) En la carpeta 'C:\Program Files (x86)\Embarcadero\Studio\19.0\bin64' se copia el archivo dbx4fb.dll que está en la carpeta Win64 (este no lo copié porque sólo uso Firebird 32 bits) 3. En la carpeta Demo hay otra carpeta llamada project.d18 y dentro ésta hay otra carpeta llamada bin. Ahí se encuentra el archivo dbxdrivers.ini, el cual contiene la información que hay que adicionarle al archivo dbxdrivers.ini que se encuentra en C:\Users\Public\Documents\Embarcadero\Studio\dbExpress\19.0. NOTA: no reemplazar el archivo, sino editar y adicionar las lineas del archivo en la sección correspondiente, es decir, no borrar la información de los drivers que ya están. También hay que cambiar la línea correspondiente en VendorLib=C:\Program Files (x86)\Firebird\Firebird_3_0\fbclient.dll 4. Una vez hecho esto ya se puede entrar al IDE y se puede ejecutar el demo de la carpeta dbxFirebird.4.1.v56\Demo\project.d18 5. El demo no va a funcionar, pero se puede modificar de la siguiente manera: Al ejemplo le coloqué un objeto TSQLConnection y en el Data Explorer le adicioné una nueva conexión de FirebirdConnection, la cual se configura de la forma tradicional y el código lo modifiqué adicionándole otro TButton: Código:
unit uMainForm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, SqlExpr, WideStrings, DB; type TMainForm = class(TForm) Button1: TButton; SQLConnection1: TSQLConnection; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var MainForm: TMainForm; implementation uses DBXDynalink; { esto es por el error de Unknown driver: FirebirdConnection de acuerdo con Support de la página https://groups.google.com/forum/#!searchin/dbxfirebird/Unknown$20driver$3A$20FirebirdConnection%7Csort:date/dbxfirebird/dcjOBhc-0rQ/2ZjElVd4HNUJ } {$R *.dfm} procedure TMainForm.Button1Click(Sender: TObject); var C: TSQLConnection; i: integer; begin C := TSQLConnection.Create(Self); try C.DriverName := 'FirebirdConnection'; //'FirebirdConnection'; C.LibraryName := 'dbx4fb.dll'; C.VendorLib := 'C:\Program Files (x86)\Firebird\Firebird_3_0\fbclient.dll'; C.GetDriverFunc := 'getSQLDriverFIREBIRD'; // C.Params.Clear; // C.Params.Add('User_Name=sysdba'); // C.Params.Add('Password=masterkey'); // C.Params.Add('Database=C:\BDFirebird\HVEQUIPOS3.fdb'); for i:= 0 to C.Params.Count - 1 do begin if (Copy(C.Params[i],1,Length('VendorLib='))='VendorLib=') then C.Params[i]:= 'VendorLib=C:\BDfirebird\fbclient.dll' else if (Copy(C.Params[i],1,Length('Database='))='Database=') then C.Params[i]:= 'Database=C:\BDFirebird\HVEQUIPOS3.fdb' end; C.Open; if C.Connected then ShowMessage('Connection is active') finally C.Free; end; end; procedure TMainForm.Button2Click(Sender: TObject); var i, Cont: integer; s: string; begin SQLConnection1.Open; s := ''; Cont := 0; for i := 0 to SQLConnection1.Params.Count - 1 do if Copy(SQLConnection1.Params[i],1,Length('Database='))='Database=' then s := s + SQLConnection1.Params[i]; for i:= 0 to SQLConnection1.DataSetCount - 1 do Cont := Cont + 1; s := s + ' --- Contador datasets: ' + IntToStr(Cont); if SQLConnection1.Connected then ShowMessage('Connection is active to : ' + s); end; end. Última edición por carnace fecha: 17-09-2018 a las 08:38:04. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿como se escribe (desarrolla) un driver para DbExpress? | JXJ | Varios | 1 | 09-09-2010 23:22:29 |
Driver PostgreSQL para dbExpress | gatosoft | PostgreSQL | 2 | 09-01-2010 03:36:20 |
Driver dbExpress para DB2 | jcporras | DB2 | 1 | 02-10-2008 14:25:52 |
Que driver recomiendan para dbExpress con Oracle10g ? | rolandoj | Conexión con bases de datos | 0 | 23-05-2008 17:58:32 |
free DBExpress driver | raul parra | Noticias | 1 | 05-01-2004 10:00:24 |
|