FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Programa que no funciona en red
Hola!:
Tengo un programa hecho en Delphi 6 con tablas en formato Paradox. El programa funciona perfectamente pero resulta que si están dos ordenadores en red e intentas abrir el programa (que está compartido) desde un ordenador de la red, no lo abre y muestra el panel de envío de informes de errores (en un sistema operativo Windows XP). ¿Alguien me puede decir por qué sucede esto? Yo creía que un programa con tablas Paradox se podía ejecutar perfectamente en red... ¿tengo k hacer algo de más? Ayudadme por favor. Gracias y hasta pronto.
__________________
Letty http://usuarios.lycos.es/buffangel |
#3
|
|||
|
|||
Sigo estando dudosa
Holas!:
He leído varios artículos y temas sobre esto pero no me sale. ¿Cómo le hago para que nada más empezar no me de el error ‘Directory is busy? Ayudadme por favor.
__________________
Letty http://usuarios.lycos.es/buffangel |
#4
|
||||
|
||||
Pues yo ya leí el artículo (nunca he usado paradox) y ya se cual es tu problema.....
Mi problema es que no me gusta hacer el trabajo de los otros, así que te recomiendo que leas de nuevo el artículo, y si tenes alguna duda puntual, pues volve al hilo y si puedo ayudarte en algo, con mucho gusto lo hare. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
A ver, yo me leí el artículo pero es que no sé como se hace para mirar si hay o no hay usuarios, que creo que es lo que hay que hacer al iniciar el programa. Otra de las cosas es que no sé en que momento justo habría que hacerlo.
Yo no estoy pidiendo que me hagan las cosas por mi, solo estoy pidiendo un poco de ayuda para algo que en mi vida vi y que no entiendo muy bien. Por otro lado, empecé por hacer lo que pone en el artículo de paradox en red en el oncreate del data module y me da este error al activar la sesión. Project proyecto.exe raised exception class EDBEngineError with message ‘Network initialization failed. Unknown internal operating system error. File: \\LETTY\BD\NET\PDOXUSRS.NET Directory: \\LETTY\BD\NET\’.Process stopped. Use Step or Run to continue. ¿podrían ayudarme por favor?
__________________
Letty http://usuarios.lycos.es/buffangel |
#6
|
||||
|
||||
Y existe el recurso de red \\letty\bd\net?
El usuario que corre el programa tiene permisos de lectura/escritura sobre él? No tenes que verificar si ya hay o no usuarios. Paradox se encarga de llevar un registro de los bloqueos a nivel de registro para permitir el acceso concurrente (que es lo que el artículo explica). Simplemente todos los programas (o el mismo en diferentes equipos) que ataquen la base de datos tienen que basarse en el mismo archivo de bloqueos... Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
|||
|
|||
Antes de nada muchas gracias por responder.
En cuanto a si existe ese recurso... a ver.. si mi equipo en la red se llama letty y yo tengo una carpeta BD que la comparto para todos los usuarios con control total y dentro de esta hay otra tambien compartida que se llama net... no debería estar listo ya?. Cito: "El remedio es verificar que hay usuarios conectados y antes de abrir las tablas comprobar la existencia de tales ficheros, si no hay usuarios y los ficheros están el directorio nuestra aplicación deberá ser lo suficientemente inteligente para borrarlos y olvidares del tema" del articulo en cuestión. Entonces no entiendo esta parte.... para que no de lo de busy no hay que mirar si hay o no usuarios? perdona si soy cortita pero es que no saco más de la cabeza!
__________________
Letty http://usuarios.lycos.es/buffangel |
#8
|
||||
|
||||
Como ya te dije antes, nunca he usado Paradox. Sin embargo el problema del "Directory is Busy" se resuelve apuntando a todos los usuarios al mismo archivo de bloqueos.
Si este archivo de bloqueos se queda desactualizado por alguna razón (digamos la caida de los usuarios) y el propio paradox no lo detecta... eso es harina de otro costal (y tema de otro hilo) y yo considero que también una seria limitante del producto. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#9
|
||||
|
||||
Project proyecto.exe raised exception class EDBEngineError with message ‘Network initialization failed.
Unknown internal operating system error. Creo entender que en tu ordenador (el de desarrollo no tienes red), por eso da el fallo. Windows XP REQUIERE QUE LA RED ESTÉ ACTIVA Y FUNCIONANDO. Solución: el que actua como "servidor" accede al recurso compartido como : C:\bd y c:\bd\net el otro con rutas UNC: Directory is busy ---> Lo que ya te han dicho. Borra los archivos a mano la primera vez y punto. despues si funcionará. Solucion para todos los errores de este tipo: Create un "Log de inicio de sesion" en un simple fichero de texto, para saber por donde anda el programa jugueteando. IMPORTANTEEE: antes de compilar la version final para llevarla al cliente, ASEGURATE de que el objeto Session no esta activo, y tampoco el Tdabase asociado. (Se pone a activo cada vez que le das doble clic a un Ttable, por ejemplo). Cita:
|
#10
|
||||
|
||||
No uso windows XP. Pero no debieras tener problemas para acceder a los recursos de tu máquina usando rutas UNC... no está de mas hacer la prueba, pero sería una razón mas para aborrecer al güindos, no???
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#11
|
|||
|
|||
Muchas gracias a los dos Realmente el problema es que yo no estoy en una red y no me había dado cuenta de que así no iría. Hasta pronto.
__________________
Letty http://usuarios.lycos.es/buffangel |
#12
|
||||
|
||||
Cita:
|
#13
|
|||
|
|||
Ahora me va bien, con asignamiento de netfiledri y privatedir en el oncreate del dtmod y asignamiento de params de la bd tambien en el oncreate y luego en el proyecto después de crear todos los formularios activo sesión, conecto bd y activo todas las tablas.... me sale esto:
"project proyecto.exe raised exception class EDBEngineError with message 'File or directory does not exist. File: PDOXUSRS.NET. Process stopped.... " Ahora en teoría me pilla lo de la red, será al estar conectada a internet supongo. Perdonad las molestias chicos que a esto sí que se le puede llamar ser pesada.
__________________
Letty http://usuarios.lycos.es/buffangel |
#14
|
||||
|
||||
Cita:
|
#15
|
|||
|
|||
¿Pero no se supone que el archivo lo crea el propio programa? el directorio sé fijo que está bien porque puse un archivo en el, le di instruccion de borrarlo y me lo hizo bien... así k lo que es directorio lo pillla fijo.
__________________
Letty http://usuarios.lycos.es/buffangel |
#16
|
||||
|
||||
no estarás intentando borrar el archivo cuando lo está usando el programa no?
Ten cuidado que el IDE de Delphi tambien abre una instancia y crea archivos .net (en principio en otros directorios.... en principio) Haz un ShowMessage a diestro y siniestro. Yo ese apartado de borrar los .net y lck me lo salté. ese dia tenia cosas que hacer y no fui a clase Por cierto, mi programa lleva funcionando en red varios meses y no me han llamado por ese tema. Consejo: Usa rutas del tipo c:\BD mientras estes en casa. estes en internet, o sacando al perro a pasear Saludos |
|
|
|