Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-02-2013
OscarBravo OscarBravo is offline
Miembro
 
Registrado: feb 2007
Posts: 23
Poder: 0
OscarBravo Va por buen camino
Solicito ayuda respecto a Conexión remota a una base de datos.

Saludos a todos los participantes de este foro.

Solicito su colaboración en lo siguiente:
Estoy desarrollando una aplicación en Delphi 2009. La base de datos es MySql versión 5.027 mediante DbExpress.
Tengo Un objeto sqlConnection con los siguientes parámetros de conexión, los cuales los establezco en tiempo de diseño:

Código Delphi [-]
DriverName=MySQL
HostName=localhost
Database=test
User_Name=root
Password=admin
ServerCharSet=
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Compressed=False
Encrypted=False

Con estos parámetros mi aplicación se conecta perfectamente a la base de datos, ya que la estoy ejecutando localmente.

Teniendo en cuenta que la aplicación estará instalada por lo menos en dos o tres máquinas y estas a su vez deben conectarse a la m{aquina donde est{a la base de datos, decidí cargar los parámetros de conexión en tiempo de ejecución así (BeforeConnect del objeto SQLConnection ), de modo que se puedan leer los parámetros de un archivo .ini, el cual grabé con el nombre connections.ini y es una copia de dbxconnections.ini:

Código Delphi [-]
procedure TDataModule1.SQLConnectionBeforeConnect(Sender: TObject);
begin
   TSQLConnection(Sender).ConnectionName := 'MySQLConnection';
   TSQLConnection(Sender).LoadParamsFromIniFile(ExtractFileDIR(Application.ExeName) + '\connections.ini');
end;


El contenido del archivo ini es el siguiente:

Código Delphi [-]
[MySQLConnection]
;DelegateConnection=DBXTraceConnection
DriverName=MySQL
HostName=localhost
Database=test
User_Name=root
Password=admin
ServerCharSet=
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Compressed=False
Encrypted=False

Esto también me funciona perfectamente, siempre y cuando ejecute la aplicación local mente.

Para ejecutar la aplicación desde otro equipo, edito el archivo ini y en HostName escribo la IP del computador en donde se encuentra instalado My Sql, y por ende contiene la base de datos.

Esta es la única instrucción a la que la hago cambio en el archivo ini (En el equipo remoto): HostName = 192.168.0.10
Lo que no sé es si debo colocarle:

HostName = 192.168.0.10

Ó

HostName = \\192.168.0.10

En todo caso al ejecutar la aplicación, se genera el siguiente error.

Exception EReaderError in module Pos.Exe at 0002CD52.
Error Reading SQLConnection.DriverName: Cannot find connections files from application directory (C:ProgramFiles\Pos) or system registry (\Software\CodeGear○2BDS\6.0\dbExpress)


Agradezco me ayuden con lo siguiente:

¿Como especifico en el archivo ini el HostName?

¿Que dll necesito en la máquina remota?

¿Se debe compartir el disco en donde está la base de datos?

Atentamente,

Oscar Bravo
Responder Con Cita
  #2  
Antiguo 04-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces del final de página, abajo del todo, a ver si te sirven.
Responder Con Cita
  #3  
Antiguo 13-02-2013
jpgonzalez jpgonzalez is offline
Miembro
 
Registrado: feb 2010
Posts: 121
Poder: 15
jpgonzalez Va por buen camino
Buenas, no se como funciona DbExpress, pero dado mi experiencia con Zeos te hago dos preguntas:

1- Hay alguna libreria necesaria para que se haga la conexion con DbExpress?... Por ejemplo, Zeos necesita una dll que se llama libmysql.dll (si mal no recuerdo) y por mas que la base este en otra maquina, y el componente de conexion este configurado a la perfeccion, si esa libreria no esta en el equipo local, el programa tira error.

2-Probaste poner en el Hostname el nombre del equipo en lugar de la IP?... Yo muchas veces en redes internas para testear los programas configuro la conexion con el nombre de la PC.

Espero te sirva, un abrazo!
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
Problemas con conexión a una Base de datos remota. germancbaarg Conexión con bases de datos 1 24-04-2008 20:45:00
Conexión a base de datos remota martinzcr Firebird e Interbase 3 27-08-2007 19:46:00
Conexion remota a Base de datos jorelivi Servers 1 22-06-2007 22:50:11
Conexion a Base de Datos Remota juanjoassenza Firebird e Interbase 3 12-03-2005 01:35:00
conexión de Base de Datos Local a Remota cybergerman Conexión con bases de datos 8 27-09-2004 15:38:47


La franja horaria es GMT +2. Ahora son las 22:05:47.


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