Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Que base de datos usar? (https://www.clubdelphi.com/foros/showthread.php?t=68202)

alquimista 21-06-2010 23:25:56

Pero, lo que se busca es en poco tiempo implementar la base de datos...
¿Es facil y rapido si no se conoce Postgress?
¿Para editar y diseñar registros hay herramientas?
Sigo pensando en que ADO parece mas rapido, pones la cadena de conexion los controles de datos y o bien utilizas access para crearla y editarla.
Y ya casi todos los Windows (por que va a ser una aplicacion Windows) llevan las MDAC instaladas. He visto que en firebird hay que distribuir dlls y me imagino que las demas BBDD tambien...

yapt 22-06-2010 09:17:18

Yo habitualmente utilizo PostreSQL. Si la cosa es muy grande, Oracle. Y si la cosa es muy, muy pequeña (datos locales de un solo usuario), entonces utilizo SQLite.

He mirado (muchas veces) firebird embebbed, pero nunca he encontrado suficiente información. Da la sensación como que sea un producto "descatalogado". Y mira que me hubiera gustado para poder sustituir a SQLite. Porque SQLite es un producto "flojo" (en mi opinion).

Y todo esto me lleva a lanzar otra pregunta que pongo en otro hilo.

Saludos.

Casimiro Notevi 22-06-2010 10:05:27

Cita:

Empezado por yapt (Mensaje 367968)
Yo habitualmente utilizo PostreSQL. Si la cosa es muy grande, Oracle. Y si la cosa es muy, muy pequeña (datos locales de un solo usuario), entonces utilizo SQLite.[..]

Por favor, define "Si la cosa es muy grande" :)

yapt 22-06-2010 11:12:23

"Si la cosa es muy grande", va más por el uso de la base de datos. Me explico:

Si la base de datos va a ser accedida, previsiblemente, por diferentes proveedores (aplicaciones compradas, etc..) procuro ir a un "estandar". Es decir, una empresa puede "exigir" a un proveedor que la aplicación que va a comprar, trabaje en Oracle y/o SQL-Server. Pero dificilmente puede exigir a un proveedor que su aplicación trabaje en PostgreSQL y/o firebird.

Ya me gustaría ya...... :(

Espero haberme explicado mejor...

Casimiro Notevi 22-06-2010 11:51:18

Me has hecho recordar un cliente que sólo quería equipos IBM, todo de IBM. No entraba en razones de ninguna manera.
Hasta que un día (años después) nos dijo que era la única marca que conocía, no sabía si era buena o mala, pero era la única que conocía y por eso sólo pedía todo de IBM.

Para muestra un botón: un pequeño videoclub, un lugar donde alquilan películas, que le pusieron un terminal IBM conectado a un gran ordenador IBM con ORACLE. Sólo tenía ese terminal, un sólo puesto, sólo había una persona atendiendo el videoclub, una chica. Pero el dueño "se informó" de un amigo "entendido" y le dijo que lo mejor era IBM y Oracle, así que se gastó en eso lo que le hubiese costado comprar una vivienda nueva con piscina, en aquella época.

El negocio cerró hace años en una de las crisis que han sufrido los videoclubs.

ContraVeneno 22-06-2010 16:03:14

Cita:

Empezado por alquimista (Mensaje 367928)
...
Sigo pensando en que ADO parece mas rapido, pones la cadena de conexion los controles de datos y o bien utilizas access para crearla y editarla.
Y ya casi todos los Windows (por que va a ser una aplicacion Windows) llevan las MDAC instaladas. He visto que en firebird hay que distribuir dlls y me imagino que las demas BBDD tambien...

yo tambien opino que lo más sencillo y rápido es utilizar ADO con MDB... hablando del caso que aquí nos entretiene: sistema sencillo, mono-usuario.

Cierto que con Firebird se tienen mas opciones y monerias, pero lo veo tan simple como que con ADO y mdb, solo distribuyes dos archivos, sin tener que instalar nada. Hasta donde alcanzo a conocer, no existe otra cosa mas sencilla que eso.

¿o sí?

Casimiro Notevi 22-06-2010 16:55:25

Cita:

Empezado por ContraVeneno (Mensaje 368019)
yo tambien opino que lo más sencillo y rápido es utilizar ADO con MDB... hablando del caso que aquí nos entretiene: sistema sencillo, mono-usuario.
Cierto que con Firebird se tienen mas opciones y monerias, pero lo veo tan simple como que con ADO y mdb, solo distribuyes dos archivos, sin tener que instalar nada. Hasta donde alcanzo a conocer, no existe otra cosa mas sencilla que eso.
¿o sí?

Hombre, claro, si ya lo lleva el windows, como siempre. Imagina que es un equipo que no lo tiene, seguro que tiene que instalar un montón de ficheros.
Eso es jugar con ventaja. :)

yapt 10-07-2010 13:30:58

Y ADO + mdb sería gratuito ? O el usuario debe haber comprado access para poder usarlo.

Perdón si es una pregunta estupida, pero es que no me gusta matar gatitos, así que no uso MDB's desde hace muuuchos años.

Saludos.

ContraVeneno 10-07-2010 16:55:36

vamos a ver jóvenes ilustres... ya tengo mi sistema monousario, con base de datos firebird (utilice IBExpert).

La cosa funciona de maravilla en mi máquina con Delphi e IBExpert... tengo mi executable y tengo mi base de datos FDB.

¿que tengo que poner en la máquina del usuario para que funcione igual de bien?


Saludos cordiales

P.D. Me siento más novato que nunca, jeje

Caral 10-07-2010 17:04:21

Hola
Es una buena pregunta, en mi caso:
En algunos ordenadores funciono a la primera con solo poner en la misma carpeta del EXE los archivos:
GDS32.DLL y msvcr71.dll
Sin embargo en otros ordenadores tuve que instalar firebird y dejarlo inactivo, que en realidad no pasa nada.
Ahora; Desconozco la razón.
Una cosa curiosa es que no tuve ese problema en linux, solo en windows.
Saludos

Casimiro Notevi 10-07-2010 18:45:42

Cita:

Empezado por ContraVeneno (Mensaje 369938)
vamos a ver jóvenes ilustres... ya tengo mi sistema monousario, con base de datos firebird (utilice IBExpert).
La cosa funciona de maravilla en mi máquina con Delphi e IBExpert... tengo mi executable y tengo mi base de datos FDB.
¿que tengo que poner en la máquina del usuario para que funcione igual de bien?
Saludos cordiales
P.D. Me siento más novato que nunca, jeje

Veamos si te sirve esto :)

ContraVeneno 10-07-2010 19:19:54

mmmmm.... desconozco por completa que pueda estar pasando... o que necesito hacer para que funcione el programa.... en mi máquina funciona como debería. Pero nada mas..

Ya agregué los archivo que mencionó Caral y esto es lo que estoy intentando sin tener éxito:
Código Delphi [-]
 if FileExists(ExtractFilePath(ParamStr(0))+'MiDB.FDB') then begin
  FireBirdDataBase.DatabaseName := ExtractFilePath(ParamStr(0))+'MiDB.FDB';
  Try
    FirebirdDatabase.Connected := True;
  Except
   on E:Exception do begin
     MessageDlg('No se pudo establecer la conexión a la base de datos.'+#13+#10+E.ClassName+': '+E.Message, mtError, [mbOK], 0);;
    Raise;
   end;
  End;
 end else begin
  MessageDlg('No es posible localizar la base de datos.', mtError, [mbOK], 0);
 end;

Me muestra el mensaje:
Código:

No se pudo establecer la conexión a la base de datos.
EIBInterBaseError: unaviable database


marcoszorrilla 10-07-2010 19:29:28

Yo utilizo un INI tal que este:

[Camino]
String=127.0.0.1:C:\Marcos\BDMARCOS.FDB

Y en el evento "OnCreate" del DataModulo:

Código Delphi [-]
procedure TDmMarcos.DataModuleCreate(Sender: TObject);
var
MiCarpeta:String;
MiFicheroIni:TiniFile;

begin
MiCarpeta:=ExtractFilePath(Application.ExeName);
  Try
  //Abrir el INI
  MiFicheroIni := TIniFile.Create (MiCarpeta+'MZFB.ini');
  IBDatabase.Connected:=False;
  //Pasar los parámetros al Componente IBDatabase
  IBDatabase.DatabaseName:=MiFicheroIni.ReadString ('Camino', 'String','Error');
  //Abrir Base de datos
  IBDatabase.Connected:=True;
  //Abrir transación
  Ibtransaction.Active  :=True;
  //Abrir Dataset
  
  Except
  ShowMessage('No se pudo acceder al fichero '+Mificheroini.FileName  );
  end;
end;

Comprueba también que no utilizas ZoneAlarm o algún cortafuegos que te esté impidiendo la conexión.

Un Saludo Contra.

ContraVeneno 10-07-2010 20:29:03

Cuando instale firebird, instale la version 2.1... y no veo por ningun lado el archivo fbembed.dll

¿que pista me falta?

Caral 10-07-2010 20:47:53

Hola
Creo que hay algo aqui:
Cita:

Firebird Client DLLs

The first problem you have is that there are two - arguably three - DLLs that you really have to manage carefully if you are not going to end up with a broken installation. These are, in no particular order:

fbclient.dll:
This is the standard client library used to access Firebird databases via a Firebird Server. The Server is usually on a different system - but doesn't have to be - and the normal resting place for this dll is in the Firebird "bin" folder (e.g. c:\Program Files\Firebird\Firebird_1_5\bin). It may also be found in the Windows System32 folder or in an application installation folder.

fbembed.dll
This is the Firebird embedded server. It does all that fbclient.dll will do for you plus it can access a local Firebird Database without having to go through a separate server. Normal file system access controls then apply for access to local databases, rather than the username/password controls that the normal server uses.. Its normal resting place is the application installation folder. fbembed.dll is often renamed to fbclient.dll or gds32.dll to make it interchangeable with an application designed to use the normal client dll.

gds32.dll
This is the old name for the client dll and is the name still used by InterBase for its client library. Traditionally, this was installed in the Windows System32 folder, but can also be found in the application installation folder. fbclient.dll is often renamed "gds32.dll" when it is used to support Delphi applications that use IBX. It is typically also patched to version 6.3.x so that it is accepted by the Delphi 7 version of IBX. However, this is not necessary for later versions.

saludos

Casimiro Notevi 11-07-2010 00:20:25

Los ficheros los puedes descargar desde el sitio de firebird en sourceforge:
Y aquí tienes más información, por si la necesitas.

Neftali [Germán.Estévez] 12-07-2010 10:54:56

Cita:

Empezado por yapt (Mensaje 369935)
Y ADO + mdb sería gratuito ? O el usuario debe haber comprado access para poder usarlo.

Puedes usar Delphi+ADO+MDB líbremente sin pagar nada y sin que el usuario y tampoco tú tengáis instalado Microsoft Access (puedes usar otras herramientas).

Revisa esta explicación, a ver si te aclara algo.

yapt 12-07-2010 11:17:28

Cita:

Empezado por Neftali (Mensaje 370029)
Revisa esta explicación, a ver si te aclara algo.

El enlace da error... He tratado de buscarlo "a mano" pero nada. No lo encuentro.

Gracias Neftali...

Neftali [Germán.Estévez] 12-07-2010 12:02:25

Corregido, perdón. ;)

yapt 12-07-2010 16:01:06

Gracias Neftalí, pero tras la lectura del mensaje que me apuntas, sigue sin quedarme claro, dices que:

Cita:

Jet4 es el motor de Base de Datos de Microsoft que usa ficheros MDB. Se puede usar y distribuir libremente sin necesidad de pagar.
Ok.. entiendo entonces que el motor JET4, viene "embebido" dentro del propio Windows o algo así ???

Pero luego comentas:

Cita:

¿Que Jet4 y MDB no es libre? Cierto, pero que yo sepa Paradox nunca ha sido "Libre" y lo hemos utilizado durante muchos años en nuestras aplicaciones.
Bueno, es precisamente por esto (y su fragilidad) por lo que traté siempre de escapar de Paradox y, por lo mismo, (porque creia que era de pago) por lo que he tratado siempre de huir de MDB/ACCESS/JET4.... Que para mi, todavía sigue siendo lo mismo.. :o

Saludos.


La franja horaria es GMT +2. Ahora son las 00:28:29.

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