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)
-   -   Firebird y ADO/ODBC en D2010 (https://www.clubdelphi.com/foros/showthread.php?t=70119)

Chandra_ 04-11-2010 12:20:14

Cita:

Empezado por guillotmarc (Mensaje 381247)
Hola.

Esas entradas en dbxdrivers.ini las tienes que poner tú manualmente.

No sé cuan confiable es el driver, en unas primeras pruebas me ha funcionado bien, pero no he programado nada serio con él. Quizás puedas ponerte en contacte con cesarsoftware y preguntarle como le va (utiliza los mensajes privados del foro). NOTA: Si lo haces, no te olvides comentarlo aquí para que lo sepamos también los demás.

Aunque yo no me preocuparía tanto por el tema. Esta es una de las ventajas de dbExpress. Si no te funciona bien, simplemente cambias la conexión y utilizas el driver de Interbase que viene con Delphi, o compras el driver dbExpress de DevArt o el InterXpress de Upscene. El caso es que no vas a tener que cambiar nada de tu programa, solo especificarle de usar un driver distinto.

Saludos.

Gracias por responder, guillomarc.

Me ha comentado casimiro en otro hilo que, si le doy un oso "normal", no tengo por qué instalar drivers; de manera que tal vez siga como hasta ahora: D2007+dbExpress+Firebird sin nada más.

guillotmarc 04-11-2010 12:25:49

Cita:

Empezado por Chandra_ (Mensaje 381254)
Gracias por responder, guillomarc.

Me ha comentado casimiro en otro hilo que, si le doy un oso "normal", no tengo por qué instalar drivers; de manera que tal vez siga como hasta ahora: D2007+dbExpress+Firebird sin nada más.

No, si te ha funcionado bien hasta ahora, no tienes porqué cambiar.

NOTA: Y en el caso de que en un futuro necesites lanzar una consulta que requiera de las nuevas características de Firebird, y que por tanto no funcione correctamente con el driver de Embarcadero, entonces tienes la sencilla solución de cambiar de driver (sin tocar nada más del programa). Así que en principio no hay nada malo en seguir programando como lo haces.

Saludos.

Chandra_ 04-11-2010 12:34:51

Cita:

Empezado por guillotmarc (Mensaje 381255)
No, si te ha funcionado bien hasta ahora, no tienes porqué cambiar.

NOTA: Y en el caso de que en un futuro necesites lanzar una consulta que requiera de las nuevas características de Firebird, y que por tanto no funcione correctamente con el driver de Embarcadero, entonces tienes la sencilla solución de cambiar de driver (sin tocar nada más del programa). Así que en principio no hay nada malo en seguir programando como lo haces.

Saludos.

Pues un millón de gracias, guillomarc, no sabes el peso que me quitas de encima, despejando así mis dudas, de verdad.

Tienes toda mi gratitud :)

Delfino 26-11-2010 18:17:51

Tanto Marco cantu como Ian Marteens dicen en sus libros sobre Delphi6 q se puede incrustar la dll del driver DBX en el ejecutable, pero ninguno detalla el como :confused:

Alguien sabe como?

guillotmarc 26-11-2010 18:57:50

¿ Que Delphi utilizas y que Driver dbExpress ?.

Para Delphi 6 y el driver de Interbase que viene de serie, solo tienes que añadir dbExpInt en el Uses de tu Formulario principal y el código del driver dbExpress es linkado junto con tu aplicación.

Saludos.

Estifmauin 27-11-2010 16:14:12

Cita:

Empezado por cesarsoftware (Mensaje 378420)
Hola de nuevos compis.
¿Como puedo crear la base de datos desde codigo?, ya sabeis que no me gusta usar otras aplicaciones, hasta ahora usaba ibaccess para crearlas, pero me empieza a dar problemas y prefiero crearlas yo.

SQLConnection, al igual que ADOConnection necesita una base de datos a la que conectarse para poder "actuar", así que no puede crear ella misma una desde cero.
Yo uso el componente TIBDatabase, de las IBX de Delphi, ya que la creación de una bbdd Firebird es igual a una Interbase (al menos por ahora).

Código Delphi [-]
function CrearBDFB(path :string; ps :integer; cs :string):boolean;
var
    db :TIBDatabase;
    r :string;
begin
result:=false;
if ps <= 0 then ps:=4096;
if cs = '' then cs:='ISO8859_1';
db:=TIBDatabase.Create(nil);
try
    with db.Params do begin
        Clear;
        Add('user ''sysdba''');
        Add('password ''masterkey''');
        Add('page_size = '+IntToStr(ps));
        Add('default character set '+cs);
    end;
    db.SQLDialect:=3;
    db.DatabaseName:=path;
    try
        db.CreateDatabase;
        result:=true;
    except
        on e:exception do
            ShowMessage('No se ha podido crear la base de datos.'+#13+'Motivo: '+e.Message);
    end;
finally
    FreeAndNil(db);
end;
end;

Requiere uses ibdatabase

Espero que te ayude.

Delfino 27-11-2010 16:39:43

Cita:

Empezado por guillotmarc (Mensaje 383405)
¿ Que Delphi utilizas y que Driver dbExpress ?.

Utilizo Delphi2007 con el driver del chico de malasia comentado en este hilo.

Se q a partir del Delphi 2010 todos pueden ser linkados al exe incluyendo una unidad especifica, pero pensaba q habra alguna manera en versiones anteriores.

Para hacer funcionar a ese driver basta con actualizar los archivos .ini con los valores del driver (copiar y pegar el de Interbase y corregirlo) y incluirlo en el system32. Lo pude hacer funcionar desde el IDE en menos de media hora. Eso si, en tiempo de ejecucion me da un error al crear un TSQLDataset y intentar abrirlo: Assertion failure (C:\Users\coder\Project\source.d11\moon\core\source\firebird\firebird.dsql.pas, line 1159)


La franja horaria es GMT +2. Ahora son las 01:32:53.

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