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)
-   -   conexión de Base de Datos Local a Remota (https://www.clubdelphi.com/foros/showthread.php?t=14440)

cybergerman 21-09-2004 02:04:06

conexión de Base de Datos Local a Remota
 
Estoy trabajando con los componentes IBX e Interbase 6.5
mi duda es que ahora estoy trabajando con la BD en modo local, pero al momento de instalar la aplicación la misma va a ser remota.

Tengo que instalar Delphi 7 en el Servidor para cambiar el tipo de acceso en el componente ibx DB????

AGAG4 21-09-2004 03:31:47

opki
 
Solo tienes que instalar la Base de datos como Servidor, y los clientes redireccionarlos, es decir vas a cambiar todo de local a remoto por ejemplo:
Ip:192.168.1.100:c:\bd\bdatos.gdb

Neftali [Germán.Estévez] 21-09-2004 09:19:54

Nunca hay que instalar Delphi para que se pueda ejecutar una aplicación hecha en delphi (en ese caso deberías pagar la licencia del Delphi que instalas ya que no sirve la del tuyo...)

En el servidor sólo debes instalar la parte servidor de la Base de Datos.
En los Clientes deberás instalar los drivers clientes de la Base de Datos, tu programa de Delphi (con las BPL's correspondientes si es que usas packages) y librerías externas (si es que utilizas alguna).

cybergerman 22-09-2004 15:12:57

Gracias por sus respuestas pero mi duda es la siguiente:

Yo en el compoenente ibx TIBDatabase tengo asignada la opción base de datos local.

Si la Base de Datos se en instala en un Servidor,Al momento de la instalación de la aplicación como hago para cambiar la opción de este componente.(ya que para cambiarlo necesito tener Delphi instalado).

En Interbase se que como se hace,pero si yo lo cambio aquí, que sucede con la aplicación ya que la misma dice que la Base de Datos es local.

Neftali [Germán.Estévez] 22-09-2004 15:55:32

En ese caso tendrás que idear un sistema para poder configurar esa conexión;
Por ejemplo puedes crear un sencillo archivo de texto que contenga los parámetros y tu aplicación al cargar (y antes de activar la Base de Datos) que busque ese fichero y lea de él los parámetros de conexión (puedes utilizar ficheros INI y la clase de Delphi TIniFiles).
ësta es simplemente una opción, pero hay muchas otras, por ejemplo puedes crear un formulario de configuración dentro de tu propia aplicación y la primera vez que arrancas que aparezca el form de configuración y el usuario deba rellenarlo; Puedes utilizar el registro de Windows,... hay infinidad de posibilidades.

La idea es que la conexión no esté puesta directamente en el control TIBDataBase como la tienes ahora.

AGAG4 22-09-2004 16:12:43

????
 
Como usa la clase de Delphi TIniFiles Sr. Neftali????
Disculpe que me meta :)

Neftali [Germán.Estévez] 23-09-2004 10:18:18

Es sencillo, incluso si buscas en la ayuda de delphi encontrarás ejemplos; De todas formas aquí te adjunto un pequeño código que puedes probar en un form, que lo que hace es guardar (en el close) y restaurar el estado (en el crete) de un form en un fichero INI utilizzando la clase TIniFile.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  Status: Integer;
begin
  IniFile := TIniFile.Create (ChangeFileExt (
    Application.ExeName, '.ini'));
  {try to read a value and test if it exists}
  {Intenta leer el valor y comprueba si existe}
  Status := IniFile.ReadInteger ('MainForm', 'Status', 0);
  if Status <> 0 then
  begin
    {read position and size using current values as default}
    [Lee del fichero las posiciones usando valor por defecto]
    Top := IniFile.ReadInteger ('MainForm', 'Top', Top);
    Left := IniFile.ReadInteger ('MainForm', 'Left', Left);
    Width := IniFile.ReadInteger ('MainForm', 'Width', Width);
    Height := IniFile.ReadInteger ('MainForm', 'Height', Height);
    {set the minimized or maximized status}
    {Cambia el estado de la ventana}
    case Status of
      // 1: WindowState := wsNormal;
        //this is already the default
      2: WindowState := wsMinimized;
      3: WindowState := wsMaximized;
    end;
  end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Status: Integer;
begin
  if MessageDlg ('Grabar el estado actual del formulario?',
    mtConfirmation, [mbYes, mbNo], 0) = IdYes then
  begin
    Status := 1; // default   //valor por defecto
    case WindowState of
      wsNormal: begin
        {save position and size only if the state is normal}
        {Guarda la posición y tamaño sólo si el estado es normal}
        IniFile.WriteInteger ('MainForm', 'Top', Top);
        IniFile.WriteInteger ('MainForm', 'Left', Left);
        IniFile.WriteInteger ('MainForm', 'Width', Width);
        IniFile.WriteInteger ('MainForm', 'Height', Height);
      end;
      wsMinimized: Status := 2;
        {useless: this value is never set by VCL for the main form}
        {ëste valor nunca se coloca por la VCL para el form principal}
      wsMaximized: Status := 3;
    end;
    {check if the window is minimized, that is, if the form  is hidden and not active}
    {comppueba si la ventana está minimizada, oses si el form está oculto y no activo}
    if not Active then
      Status := 2;
    {write status information}
    {escribe la info. de estado}
    IniFile.WriteInteger ('MainForm', 'Status', Status);
  end;
  {in any case destroy the IniFile object}
  {en cualquier caso destruye el objeto IniFile}
  IniFile.Free;
end;

Paoti 23-09-2004 19:19:33

Ejemplo claro y conciso... hasta yo lo use....




que esten bien...



nos vemos compáñeros

rarratia 27-09-2004 15:38:47

Conexión remota con TSQlConnection y MySQL
 
Amigos:

A ver si me pueden ayudar. Cómo me conecto a un servidor remoto en que tengo la IP y Puerto de conexión con TSQLConnection??????
Dentro de los parámetros no aparece el puerto y cuando intento conectarme aparece el error: en que está inválido el usuario o la password y no es así.
Espero me puedan ayudar, gracias...


La franja horaria es GMT +2. Ahora son las 13:04:26.

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