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)
-   -   Eterno problemas de indices (https://www.clubdelphi.com/foros/showthread.php?t=20002)

Pablo Carlos 06-04-2005 21:40:49

Gracias Lepe... haré tu sugerencia con un proyecto nuevo, algo simple, una tabla, un form y un botón para editar, insertar y demás, metere un tsession y configuraré el netfiledir y el privatedir en forma directa (sin ini y esas cosas) crearé los instaladores y vere que pasa, no tocaré el registro por localshare lo trabajaré directamente desde el bde... en fin directo y simple... veremos, después comento.
Saludos

Alfredo 07-04-2005 16:47:35

esos LCK...
 
Viendo desde la periferia aun noto confucion sobre los LCK.

Pablo, los LCK se crean automaticamente en donde estan las tablas...

¿Como configuras eso? Solo al indicarle a tus TQuerys o Ttables la Propiedad: DatabaseName:= 'x'. si el BDE esta vien configurado todos apuntaran a la misma base de datos. Lo demas esta bien.

Te doy la siguiente idea, (a mi me funciona de maravilla):

1.- Crea un alias llamado "base" (o como tu quieras).
2.- Asignale a ese alias en el BDE administrador o en el Database Desktop la ruta: \\servidor\carpeta.
3.- Guarda la inf.
4.- Usa ese alias como DatabaseName.
5.- Si no quieres configurar individualmente cada cliente, ve a la carpeta de instalacion de BDE, puede ser: C:\Archivos de programa\Archivos comunes\Borland Shared\BDE y copia el archivo idapi32.cfg en la carpeta correspondiente de cada cliente. Asi todos apuntaran al mismo alias, tanto servidor como clientes.
6.- corre tu programa y disfruta... :D

Pablo Carlos 08-04-2005 02:25:34

Aqui de nuevo :D
Les comento de acuerdo al pos anterior realice un prg. sencillo, una tabla y un Tsession.- La tabla apunta al tsession... tsession tiene como parametro el netfiledir \\servidor\prueba\datos el privatedir \\servidor\prueba, luego he creado los instaladores sin decirle al bde un alias el cual lo paso por código.- luego abri el bde del servidor y toque el conf. native, paradox net file y le pase el mismo netfiledir del tsession y el localshare puse en true el del servidor lo mismo con el cliente con la diferencia del localshare que está en false. Intente modificar registros iguales y el bde protesto diciendo que estaba siendo usado por otro puesto (eso muy bien) inserté registros a diestra y siniestra en el servidor y en el cliente intentando que sean a la vez, todo bien fueron ingresando dos de servidor uno del cliente o al reves y asi hasta los 40 o 50 ingresos desde ambas máquinas, todo bien... examine donde "caian" los lck y estaban en el servidor en la ruta del privatedir del servidor (los lck del cliente) y genera los lck (del servidor) en la ruta del netfiledir, el net se crea en el netfiledir del servidor solamente.- Funcionó en esa hora de modificaciones e inserciones sin ningún problema. Ahora según lo leido los lck deberían crearse en cada máquina y como expliqué no es así.- Otra cosa... los lck del servidor se borran cuando cierro el prg del servidor pero los lck que se crean del "cliente" siguen alli.
Creen que me está faltando algo? :confused:
Saludos

Lepe 08-04-2005 08:23:58

Cita:

Empezado por Pablo Carlos
Aqui de nuevo :D
Les comento de acuerdo al pos anterior realice un prg. sencillo, una tabla y un Tsession.- La tabla apunta al tsession... tsession tiene como parametro el

netfiledir \\servidor\prueba\datos
privatedir \\servidor\prueba

Yo diría que no es buena configuración, el privatedir, debe ser local en cada máquina C:\TEMP o c:\windows\temp
Código:

databaseDir := \\servidor\prueba\datos
 NetFileDir    := \\servidor\prueba
 PrivateDir  := c:\TEMP

Suponiendo que la carpeta prueba está compartida totalmente con acceso global.

Sugerencia: Para tu programa real, deberías añadirle un Log, que grabe las sentencias SQL que va a ejecutar, modificaciones de tablas y los exception que da. Si tienes la JVCL, lo tienes muy facil, ya que permite hacer ambas cosas. Si no las tienes, busca por internet MapFileSource para las excepciones.

Así sabrás por qué falla, y donde está fallando.

Un saludo.

Un saludo.


La franja horaria es GMT +2. Ahora son las 08:28:49.

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