Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2012
angel.sosa angel.sosa is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 22
Poder: 0
angel.sosa Va por buen camino
Post configurar IBDataBase mediante un archivo ini o txt

hola a todos, soy nuevo en el foro, estoy programando una pequeña aplicacion en Delphi 7 para correrla con una base de datos en red, por cierto estoy usando un tutorial para novatos de caral muy bueno, la cuestion es que pretendo configurar los parametros de conexion del IBDataBase con un archivo ya sea de texto o un ini, en el cual tendria la ip del servidor, el tipo de conexion y el usuario y contraseña, pues la idea es instalar la aplicacion con ese archivo de configuracion para conectarse.
Responder Con Cita
  #2  
Antiguo 20-11-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola angel:

El siguiente codigo lo pones en el evento OnCreate de un DataModule o bien donde tenes los componentes de conexion:

Código Delphi [-]
Uses IniFiles;

procedure TDM.DataModuleCreate(Sender: TObject);
Var BaseDeDatos: String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then
    ShowMessage('Error al cargar Base de Datos') else
   Begin
    Try
      BaseGeneral.DatabaseName := BaseDeDatos;
      BaseGeneral.Connected := True;
      Transaccion.Active := True;
    Except
      ShowMessage('No se puede conectar el servidor...');
    End;
   End;
end;

y esto es lo que iria dentro del archivo BDatos.Ini de las maquinas clientes y lo ubicarias en el mismo lugar del ejecutable. La IP que aparece corresponde a la maquina donde se encuentra la base de datos

Código:
[DB]
PATH="192.168.1.3:c:\Sistema\Datos\LaBase.FDB"
en tanto para el .ini donde esta la base, el ini no lleva la Ip

Código:
[DB]
PATH=":c:\Sistema\Datos\LaBase.FDB"

Fijate que la variable BaseDeDatos se carga con el valor de PATH del ini
Código Delphi [-]
BasedeDatos := IniFile.ReadString('BD','Path','');
es decir que puedes agregar mas parametros a otras variables y leerlo de la misma forma, por ejemplo
Código:
[DB]
PATH=":c:\Sistema\Datos\LaBase.FDB"
PASS="masterkey"
USER="SYSDBA"
UBICACION="Algo que se te ocurra"

Saludos.-

Pd: Supongo que la base de datos es firebird o Intebase.-
Responder Con Cita
  #3  
Antiguo 20-11-2012
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Me ganaron n responder

Pero así es la cuestión como dice el amigo Martín... checa este enlace para mayor referencia... http://primero.latinowebs.com/delphi1/Ficheini.htm... y piensa si es conveniente poner la pass de la base de datos en un archivo ini que es un simple archivo de texto.

Saludos
__________________
Herr Heins Faust
Responder Con Cita
  #4  
Antiguo 20-11-2012
angel.sosa angel.sosa is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 22
Poder: 0
angel.sosa Va por buen camino
gracias MartinS, por el momento solo quiero pasar la ip y la ruta de la base, solo me queda unas cuantas dudas, como le digo al componente IBDataBase que utilice esos parametros que acabo de extraer del ini. es decir como le asigno los parametros. antes los parametros de la conexion estaban dentro del IBdatabase mediante su editor, es decir en esta parte no utilice codigo.

entiendo q es la parte donde me dices q use algo asi como: BaseGeneral.DatabaseName := BaseDeDatos;

pero no entiendo q hacer en esta parte o como ingresarle esos parametros al componente.
Responder Con Cita
  #5  
Antiguo 21-11-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola: Los parametros se los definis como estas acostumbrado o como estas aprendiendo, o sea, desde el editor. El código que te expuse solo cambia o define en su caso la ruta de la base de datos cuando se ejecuta. Como bien expuso Faust el usuario y la contraseña (SYSDBA y masterkey) la colocas al componente en tiempo de diseño.
En el ejemplo BaseGeneral seria tu componenete IbDatabase.
En cuanto a la ruta de la base de datos y tomando el ejemplo: c:\Sistema\Datos\LaBase.FDB es la ubicación física de la base dentro de la PC servidora. Cuando definís el acceso a la misma por los parametros del IBDatabase en tiempo de diseño (Database component editor - es decir boton derecho sobre el componente) le indicas que use el protocolo TPC y conexion tipo remota y la ubicacion fisica de la base de datos, entonces el mismo componente le agregara los : delante de la ruta quedando :c:\Sistema\Datos\LaBase.FDB. Despues viene todo el tema del .ini. Otra vez; cada cliente sumara al .ini a la ruta la ip del servidor salvo el .ini del que realmente tiene la base de datos.

Saludos y espero que no te halla confundido mas.-
Responder Con Cita
  #6  
Antiguo 21-11-2012
angel.sosa angel.sosa is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 22
Poder: 0
angel.sosa Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Hola: Los parametros se los definis como estas acostumbrado o como estas aprendiendo, o sea, desde el editor. El código que te expuse solo cambia o define en su caso la ruta de la base de datos cuando se ejecuta. Como bien expuso Faust el usuario y la contraseña (SYSDBA y masterkey) la colocas al componente en tiempo de diseño.
En el ejemplo BaseGeneral seria tu componenete IbDatabase.
En cuanto a la ruta de la base de datos y tomando el ejemplo: c:\Sistema\Datos\LaBase.FDB es la ubicación física de la base dentro de la PC servidora. Cuando definís el acceso a la misma por los parametros del IBDatabase en tiempo de diseño (Database component editor - es decir boton derecho sobre el componente) le indicas que use el protocolo TPC y conexion tipo remota y la ubicacion fisica de la base de datos, entonces el mismo componente le agregara los : delante de la ruta quedando :c:\Sistema\Datos\LaBase.FDB. Despues viene todo el tema del .ini. Otra vez; cada cliente sumara al .ini a la ruta la ip del servidor salvo el .ini del que realmente tiene la base de datos.

Saludos y espero que no te halla confundido mas.-

mas o menos claro, ahora estoy corriendo la aplicacion local pero no me arroja nunca la conexion
me marca esto como que no reconoce el PATH ("Error al cargar Base de Datos"), y el ini lo tengo en la misma carpeta de el proyecto.
Código Delphi [-]
begin
  // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then
    ShowMessage('Error al cargar Base de Datos') else
   Begin
    Try
      IBDatabase1.DatabaseName := BaseDeDatos;
      IBDatabase1.Connected := True;
     // Transaccion.Active := True;
    Except
      ShowMessage('No se puede conectar el servidor...');
    End;
   End;

error al cargar la base de datos. siempre

el codigo del BDatos.ini donde esta mi base local.
Código:
[DB]
PATH=":C:\bdnueva\TSTD_LOCAL.FDB"
Responder Con Cita
  #7  
Antiguo 21-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
PATH=":C:\bdnueva\TSTD_LOCAL.FDB"

Ese : delante sobra
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
IBDatabase no conecta con archivo FDB de FIREBIRD 2.1.3 casacham Conexión con bases de datos 9 18-07-2010 00:18:18
como conectarse a un archivo dbf mediante ado kurono Conexión con bases de datos 2 03-03-2008 03:16:03
Configurar aplicacion con archivo externo voldemmor Varios 1 10-01-2008 21:28:38
Configurar zeos desde archivo.ini jgutti Firebird e Interbase 1 15-04-2005 16:32:48
ADO mediante archivo ini luchin001 Conexión con bases de datos 3 30-04-2004 19:22:07


La franja horaria es GMT +2. Ahora son las 23:44:14.


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
Copyright 1996-2007 Club Delphi