Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2007
yogutero yogutero is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
yogutero Va por buen camino
Al final no salió

Explico las prueba que he hecho a ver que puede pasar.

1.- Doy permisos de administrador a los usuarios que se conectan en terminal server.
2.- La aplicacion está en S:\paradox\trabajo para los usuarios de la red local y la opcion local share=true en el DBE. El terminal server está en D:\paradox\trabajo (es el mismo directorio, los equipos en red local mapean \\servidor\D\ como S.
3.- Con esta configuracón los equipos en red local funcionan ok pero en terminal server solo puede entrar uno.

El efecto de abrir 2 o varios equipos en terminal server es como si abrieramos varias veces paradox en una maquina y yo creo que es porque el fichero lck de bloqueo está siendo usado y me deja fuera.

Pruebas que he hecho:

- poner local share=false en el bde del servidor, y el terminal server funciona!!! pero los 9 equipos de la red local se vuelven locos, porque supongo que las tablas perderán consistencia al no estar controlados por un unico lck.

- mapear en el mismo servidor D:\ como S:\ asi todo el mundo tiene la misma ruta en NET DIR. No vale de nada.

Respecto al anterior consejo de sitrico no se si lo de el documento de citrix es aplicable o no.


A ver si después de ete rollo nos salta la chispa y algún alma caritativa me ayuda.
Responder Con Cita
  #2  
Antiguo 03-08-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 24
sitrico Va por buen camino
Cita:
Al final no salió

--------------------------------------------------------------------------------
Explico las prueba que he hecho a ver que puede pasar.

1.- Doy permisos de administrador a los usuarios que se conectan en terminal server.
2.- La aplicacion está en S:\paradox\trabajo para los usuarios de la red local y la opcion local share=true en el DBE. El terminal server está en D:\paradox\trabajo (es el mismo directorio, los equipos en red local mapean \\servidor\D\ como S.
3.- Con esta configuracón los equipos en red local funcionan ok pero en terminal server solo puede entrar uno.

El efecto de abrir 2 o varios equipos en terminal server es como si abrieramos varias veces paradox en una maquina y yo creo que es porque el fichero lck de bloqueo está siendo usado y me deja fuera.
Creo que por aqui van los tiros, con esto (y si el problema es el .lck) puedes solicionarlo de la siguiente manera:

Fuente: http://www.terra.es/personal/alksoft...lo/paradox.htm

Lo que debes hacer es modificar la aplicación para asignar el valor de session.Private dir a un directorio DISTINTO para cada usuario (tal vez debas usar algo así:

Código Delphi [-]
Procedure SetPrivateDir(UserName:String);
Var
Dir : String;
begin
Dir := ExtractFilePath(Application.ExeName)+'Temp\'+UserName;
If ForceDirectories(Dir) Then // crearlo si no existe
   Session.PrivateDir := Dir // aqui se creará el .lck
Else
   raise exception.Create('No se puede inicializar el BDE');
end;
__________________
Sitrico
Responder Con Cita
  #3  
Antiguo 03-08-2007
yogutero yogutero is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
yogutero Va por buen camino
me parece perfecto.

Se que una solucion en codigo probablemente funcione, pero ¿Donde se pone eso?
Te comento, llevo años programando...... en visual basic, con mysql, sql server y me encuentro en paradox y su entorno perdido, lo unico que se es que el formulario inicial se llama newgate.fdl y de ahí tiran todos.

¿En el codigo del formulario, en un modulo (si existen modulos en paradox)?
Responder Con Cita
  #4  
Antiguo 05-08-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 24
sitrico Va por buen camino
Normalmente se hace en el datamodule (tambien lo puedes hacer en el módulo principal)

Basta con que incluyas estas líneas al formulario principal:

Código Delphi [-]
session.PrivateDir := DirectorioPrivadoUsuario;
session.netfiledir := DirectorioComunCompartido;

Puedes encontrar algo mas en el foro si buscas PrivateDir ó NetFileDir

Te mando un ejemplo de un datamodule que uso.

Código Delphi [-]
//STANDARD, ORACLE, SYBASE, or INTERBASE
// Leer la configuracion de la base de datos
Ini := tIniFile.Create(ChangeFileExt(Application.ExeName)+'.ini');
Try
   // Bases de Datos PARADOX
   Session.PrivateDir := Ini.ReadString('BaseDeDatos','PrivateDir','');
   Session.NetFileDir := Ini.ReadString('BaseDeDatos','NetFileDir','');
   If (Session.NetFileDir <> '') and Not(DirectoryExists(Session.NetFileDir)) then
      MessageBoxStr('No se encontró el directorio de datos del Sistema.  '+
                    'Si se trata  de  una  configuración de red es posible '+
                    'que el servidor este apagado o no tenga acceso a la '+
                    'carpeta o unidad correspondiente. Si es una instalación '+
                    'local puede tener algún problema de configuración. Puede '+
                    'Verificar en Herramientas -> Opciones -> Bases de Datos '+
                    'la configuración actual','Error');
   DBMain.DriverName := Ini.ReadString('BaseDeDatos','DriverName','STANDARD');
   j := Ini.ReadInteger('BaseDeDatos','ParamsCount',3)-1;
   For i := 0 To j do
      DbMain.Params.Add(Ini.ReadString('BaseDeDatos','Params'+FullZero(i,3),''));
Finally
   Ini.Free;
   End;
// Conectar la Base de Datos
DbMain.Connected := True;

DbMain : TDatabase;
los parametros son los "por defecto" de paradox

Tomado del INI

Cita:
[BaseDeDatos]
DriverName=STANDARD
ParamsCount=3
NetFileDir=C:\MIS PROYECTOS\IVA32\DATA
PrivateDir=C:\MIS PROYECTOS\IVA32\
Params000=PATH=C:\MIS PROYECTOS\IVA32\DATA
Params001=DEFAULT DRIVER=PARADOX
Params002=ENABLE BCD=FALSE
__________________
Sitrico
Responder Con Cita
  #5  
Antiguo 05-08-2007
yogutero yogutero is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
yogutero Va por buen camino
Gracias

Estupendo, muchas gracias, la unica pregunta que me quedaría como cosas rara es que:

- si en el bde existe la opcion netdir no existira otra opcion donde poner private dir?

la verdad es que no la encuntro en el bde si existe claro.
Responder Con Cita
  #6  
Antiguo 07-08-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 24
sitrico Va por buen camino
En el Database Desktop Tienes un directorio PRIV: que por defecto apunta a la carpeta temporal de Windwos.

Por código basta con asignar la propiedad PrivateDir del tSession.

En el BDE Administrator no veo la opción.
__________________
Sitrico
Responder Con Cita
  #7  
Antiguo 08-08-2007
yogutero yogutero is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
yogutero Va por buen camino
Muchas gracias

El jueves pruebo todo lo que me has dicho que con eesto de las vacaciones cuando no estoy yo está el cliente.

Lo dicho gracias y al lío.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Terminal server dape Varios 5 15-05-2007 06:37:10
BDE En terminal server keys Conexión con bases de datos 3 24-10-2005 12:19:20
Problemas con Terminal Server Win 2003 Server El_Perrito Windows 0 16-10-2004 19:53:45
Por que instancias en sql server 2000 uper MS SQL Server 1 10-07-2004 19:11:06
Terminal Server chavi Varios 4 24-06-2003 21:31:54


La franja horaria es GMT +2. Ahora son las 07:37:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi