[Lazarus-es] Felicidades y una Consulta

José Luis Vassallo jose.vassallo en gmail.com
Vie Ene 18 03:43:19 CET 2008


Gracias Eduardo, estoy avanzando a full gracias a vos.
Tarde en responder porque se me destrozo el linux y reinstalar todo y
hacerlo funcionar me hizo perder un monton de tiempo. Los componentes los
logre instalar tantos los rx como los zeozde manejo de base de datos.
Use como me indicaste el nfs para acceder a la carpeta desde otra pc (ya que
me monto una mini red en casa un amigo). Mi pc es el server y tengo otra pc
que es la workstation.
Comparto la aplicacion y cuando intento acceder al server me salta un error
"sql error:can't connect loca mysql server throught socket
'/var/mysql/mysql.sock(2)', si ejecuto en la workstation el mysql me salta
error porque no tiene la base. El error se crea prque tanto el server como
la estacion tienen como host "localhost" 127.0.0.1 para solucionar esto yo
tendria que crear una en el servidor un nuevo host llamado por ej.
"ControlStockHost" con una ip. x.x.x.x y desde la workstation configurar el
acceso a esta? tengo que darles acceso al archivo "mysql.sock" del servidor?

Disculpa mis preguntas y mis molestas master.

El día 11/01/08, Eduardo Lopez <dar_alle en yahoo.com.ar> escribió:
>
> José Luis Vassallo escribió:
> > Buenas y sigo yo el pesado. :-)
> >
> > 1) Logre instalar el componente rxlib y anda casi todo bien, el
> > problema es que en el form donde puse el componente antes de salir de
> > el cuando quiero cerrar el query me da el error "Project raised
> > exception class ¿EDatabaError' with message: Operation cannot be
> > perfrmed on an inactive dataset", vere si cambiando algunas opciones
> > logro hacer que desaparezca el error. Me despliega bien la información
> > eso si.
> > 2) Perdon por molestar tanto con este tema de la red.
> > En mi pc lo corro sin problemas, ya que tengo tanto lazarus como el
> > mysql en forma local en mi suse. Pero en lo de mi cliente tengo el
> > servidor y las estaciones de trabajo (todas con suse 10.3) y no se
> > como armar la red. En el servidor esta el mysql corriendo sin
> > problemas ahora mi problema es el sistema que desarrollo en lazarus lo
> > tengo que tener en cada pc (si es asi como desde la aplicacion la
> > configuro para que acceda a la base de datos del servidor y como
> > configuro la red)? o si tiene que estar mi aplicacion dentro del
> > servidor (en un directorio accesible por todos)?
> Disculpame la demora en responder, pero estuve unos días de vacaciones.
> :-)
>
> Respecto del punto 1) sólo puedo decirte que es probable que al cerrar
> el form estés haciendo alguna operación (tipo commit) pero el dataset
> está cerrado. Sólo queda revisar con detalle.
>
> Para el punto 2) paso a detallarte: Ambas opciones son posibles:
> a) Tener los binarios en un servidor junto con sus archivos de
> configuración (leído por todos los clientes), con un directorio
> compartido por NFS.
> b) Tener los binarios en cada equipo  sus archivos de configuración
> leído sólo por el usuario.
>
> En ambos casos las bibliotecas del cliente mysql se deben instalar en
> todos los equipos clientes. En el punto a) la actualización del sistema
> es más sencilla, ya que actualizando el server, todos los clientes
> usarán la versión disponible, en b) hay que actualizar equipo por equipo.
>
> Actualmente, en tu equipo de desarrollo tienes configurado los
> componentes de acceso a mysql con "localhost", "tu_base_de_datos",
> "usuario", "contraseña"
> Lo que tienes que hacer es,  leer estos valores de un archivo de
> configuración (que puede ser en formato INI o XML) y en la creación del
> Form asignarle las propiedades correspondientes al componente.
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> MySQL50Connection1.hostname := 'servidor';
> end;
>
> Por ejemplo, para leer los datos de un archivo XML de configuración
> puedes usar la unit XMLCfg:
>
> var
> cfg: TXMLConfig;
> ArchivoConf:string;
> begin
>   ArchivoConf := 'misistema.conf';
>   cfg := TXMLConfig.Create(nil);
>   cfg.Filename := ArchivoConf;
>   LabeledEdit_servidor.Text := cfg.GetValue
> ('BaseDatos/NombreServidor','');
>   LabeledEdit_base.Text := cfg.GetValue('BaseDatos/BaseDatos','');
>   LabeledEdit_usuario.Text := cfg.GetValue('BaseDatos/Usuario','');
>   cfg.free;
> end;
>
> Depende de tu aplicación y del nivel de seguridad que quieras darle,
> puedes guardar el usuario y contraseña en el archivo XML o bien pedirla
> en una pantalla de login.
>
> El archivo de configuración puede ser guardado donde quieras: en
> /etc/tu_archivo.conf (sólo modificable por root y válido para todos los
> usuarios del equipo) o en cada home del usuario, donde tendrás acceso
> completo al mismo y podrás utilizarlo además para guardar cualquier
> preferencia que desees.
>
> De esta forma podrás generar un binario único que te funcionará tanto en
> tu equipo de desarrollo como en el del usuario final de la aplicación.
>
> Saludos cordiales.
> Eduardo López.
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lazarus.freepascal.org
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20080117/47dba42e/attachment-0001.html>


More information about the Lazarus-es mailing list