Conexion Zeos - Firebird
#1
Escrito 11 noviembre 2008 - 07:14
estoy dando mis primeros pasos sobre firebird recomendado por el amigo enecumene y quisiera saber como se conecta por zeos a firebird
ya tengo todo configurado y una base de datos llamada BD_Prueba y una tabla llamada TABLA1
gracias adelantadas
#2
Escrito 11 noviembre 2008 - 07:26
1) Colocas un ZConnection cuya función es conectarse a la base.
2) Rellena las siguientes propiedades del ZConnection:
DataBase: Aquí colocarás la ruta completa de la base de datos, por ejemplo: C:\BASEDEDATOS.FDB (Ojo, siempre debe tener la extensión .FDB).
User: Aquí colocas el nombre de Usuario, normalmente por defecto es SYSDBA.
Password: Aquí la contraseña, normalmente por defecto es masterkey.
Hostname: normalmente es Localhost o 127.0.0.1 y si está en la red colocas el IP donde está ubicado.
Protocol: Aquí seleccionas firebird-x.x según la versión, si es Firebird 2.0 seleccionas firebird-2.0 y así sucesivamente.
LoginPrompt: Aquí debe estar en False.
3) Luego de rellenar todo correctamente vamos a la propiedad Connected a True y ya estás conectado.
Cualquier otra duda, no dudes en postearlo
Saludos.
#3
Escrito 11 noviembre 2008 - 07:32
#4
Escrito 11 noviembre 2008 - 07:49
Thanks enecumene pero por propiedades no existe el peligro en que si se decide cambiar la carpeta (con la bd incluida ) se dañe la conexion?
Hola, si configuraste un ZConnection con una base de datos ubicada en una carpeta y lo mueves de su sitio es lógico que no te va a conectar, lo más recomendable es usando archivos .INI con los datos de conección antes mencionada, aquí te dejo un ejemplo conectando con .INI:
uses Inifiles; procedure TFDatos.DataModuleCreate(Sender: TObject); var Basedato,host,protocolo,Usuario,Clave: string; Inifile: TInifile; begin SEOPC.Disconnect; IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Data.ini'); Basedato := IniFile.ReadString('BASE','Database',''); host := IniFile.ReadString('HOSTNAME','Localhost',''); protocolo := IniFile.ReadString('PROTO','Protocole',''); Usuario := IniFile.ReadString('USUARIO','User',''); Clave := IniFile.ReadString('PASSWORD','Pass',''); If Basedato = '' then begin ShowMessage('Error al cargar Base de Datos'); Exit; End; SEOPC.Database := Basedato; SEOPC.User := Usuario; SEOPC.Password := Clave; SEOPC.HostName := host; SEOPC.Protocol := protocolo; SEOPC.Connect; end;
y eso es el archivo .INI:
[BASE]
Database="Sigesped"
[HOSTNAME]
Localhost="Localhost"
[PROTO]
Protocole="mysql"
[USUARIO]
User="root"
[PASSWORD]
Pass="xxxx"
Así cuando muevas de sitio la base de datos, sólo debes modificar el archivo .INI y colocar la nueva ubicación, eso sí las propiedades en el ZConnection deben estar vacías para que funcione la conección por .INI.
Espero que te sirva,
Saludos.
#5
Escrito 11 noviembre 2008 - 08:32
var Basedato,host,protocolo,Usuario,Clave: string; Inifile: TInifile; begin ZConnection1.Disconnect; IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Data.ini'); Basedato := IniFile.ReadString('BD_PRUEBA','Database',''); host := IniFile.ReadString('localhost','Localhost',''); protocolo := IniFile.ReadString('firebird-2.0','Protocole',''); Usuario := IniFile.ReadString('SYSDBA','User',''); Clave := IniFile.ReadString('masterkey','Pass',''); If Basedato = '' then begin ShowMessage('Error al cargar Base de Datos'); Exit; End; ZConnection1.Database := Basedato; ZConnection1.User := Usuario; ZConnection1.Password := Clave; ZConnection1.HostName := host; ZConnection1.Protocol := protocolo; ZConnection1.Connect;
guiandome por tu codigo trate de personalizarlo pero nada que conecta
lo puse detro del createform y declaré inifiles en la uses
¿me faltara algo? gracias adelantadas
#6
Escrito 12 noviembre 2008 - 06:55
Saludos.
#7
Escrito 12 noviembre 2008 - 07:30
#8
Escrito 12 noviembre 2008 - 07:33
#9
Escrito 12 noviembre 2008 - 07:47
#10
Escrito 12 noviembre 2008 - 09:30
otra preguntica como se registra un hosting web en sql manager 2005 for interbase/firebird?
para manejar base de datos desde un servidor web
#11
Escrito 12 noviembre 2008 - 09:39
esto en el formcreate
ZConnection1.Disconnect; IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Data.ini'); Basedato := IniFile.ReadString('BD_Prueba','Database',''); host := IniFile.ReadString('localhost','Localhost',''); protocolo := IniFile.ReadString('firebird','Protocole',''); Usuario := IniFile.ReadString('SYSDBA','User',''); Clave := IniFile.ReadString('masterkey','Pass',''); If Basedato = '' then begin ShowMessage('Error al cargar Base de Datos'); Exit; End; ZConnection1.Database := Basedato; ZConnection1.User := Usuario; ZConnection1.Password := Clave; ZConnection1.HostName := host; ZConnection1.Protocol := protocolo; ZConnection1.Connect;
y esto en data.ini
[BASE] Database="BD_Prueba" [HOSTNAME] Localhost="Localhost" [PROTO] Protocole="Firebird" [USUARIO] User="SYSDBA" [PASSWORD] Pass="masterkey"
estoy usando firebird componentes zeos
mi BD es BD_Prueba el usuario es SYSDBA y la contraseña masterkey el host es localhost
please me interesa aprender de esto agradesco su ayuda
#12
Escrito 13 noviembre 2008 - 08:09
si no funciona, debe ser por lo siguiente:
1.- Basedato debe ser la ruta completa con el nombre del archivo de la base de datos.
2.- El Protocolo debe ser segun la lista de las propiedades, no es solo Firebird
3.- Los valores no los encierres entre comillas, prueba esto y nos avisas como quedo.
#13
Escrito 13 noviembre 2008 - 08:13
3.- Los valores no los encierres entre comillas, prueba esto y nos avisas como quedo.
¿No te falta algo? : :
#14
Escrito 13 noviembre 2008 - 08:23
#15
Escrito 13 noviembre 2008 - 08:26
#16
Escrito 13 noviembre 2008 - 08:28
algo me dice que lo que quieres es ganar post jajaja
#17
Escrito 13 noviembre 2008 - 08:36