PDA

Ver la Versión Completa : Error con tablas Paradox


anibalnuma
24-05-2003, 12:05:15
Hola a todos:

Estoy haciendo una aplicacioncita sencilla que me permita simplemente ver el contenido de tablas Paradox,mi objetivo es que pueda ejecutarse sin permisos de administrador para inicialización de red.Utilizo una forma principal MDI y cada vez que abro una tabla,creo una forma hija y la muestro en un DBGRID,muy simple,utilizo un TSession para poner el NetFileDir y el PrivateDir donde yo quiera,y en este caso,utilizo la ruta de "Mis documentos" (la busco en el registro).Sin embargo,cargo una tabla y ya no puedo cargar ninguna otra,ni aunque cierre la que está abierta,me genera la excepción habitual de: "Network initialization failed",o bueno,la que yo le puse en su lugar.Agradeceré mucho cualquier ayuda,pues tengo conocimientos mínimos sobre bases de datos.

andres1569
24-05-2003, 12:30:13
Hola:

El NetFileDir que tomas del registro debe ser idéntico en todas las estaciones de trabajo, no vale que apunten al mismo directorio sino que se escriba de la misma forma: \\server\NetDir, de la misma forma si defines Alias, que el directorio al que apunten esté expresado en notación UNC. Esto es fundamental para que los archivos que controlan los bloqueos no se confundan. Mira este enlace extraído de la sección Trucos - Bases de Datos - Paradox de esta web:

http://www.clubdelphi.com/vertruco.php?id=265

Un Saludo

anibalnuma
07-06-2003, 12:00:02
El truco que me diste no me sirvió en lo absoluto.

Mi problema no es cuando acceden varios usuarios a la máquina ni nada por el estilo,es en la misma máquina del programa. Además le cambié el NetFileDir por UNC y siguió igual.El problema es simplemente que abro una tabla,y la cierre o la deje abierta,no puedo volver a abrir otra. El BDE me da error.

andres1569
07-06-2003, 13:31:46
Hola:

Asegúrate antes que nada de que no quede en el disco duro ningún archivo "pdoxusrs.net" ni "pdoxusrs.lck". Antes de borrarlos, cierra cualquier aplicación que use Paradox, incluido Delphi.

Si has colocado un componente TSession adrede (*), debes darle un nombre a la session (propiedad SessionName). cierras todos los Datasets y los enlazas todos a ese Session, y si tienes un componente TDatabase, enlázalo también a dicho Session.

(*) Digo esto porque muchas veces no se coloca un componente TSession sino que se usa el que crea Delphi por defecto y sus propiedades (PrivateDir y NetDir sobre todo) se fijan en ejecución, normalmente en el Oncreate del DataModule.

A ver qué tal va ahora.

marcoszorrilla
07-06-2003, 13:32:28
Lo que te dice Andrés tiene que funcionar, en realidad no es un truco, sino la configuración necesaria para que Paradox funcione en red.

Tienes que explicar, como tienes configurado el Ttable y Tsession, porque por ahí puede venir el error.

De todas maneras si lo que te dijo Andrés no te funcionó en absoluto, creo que debes plantearte volver a leer con mas detenimiento el enlace que te ha dado.

Un Saludo.