Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-02-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 09-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Te recomiendo la lectura de este artículo que está en esta misma web
Responder Con Cita
  #3  
Antiguo 27-02-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 27-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 02-03-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 02-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 02-03-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
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
Responder Con Cita
  #8  
Antiguo 02-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
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
Responder Con Cita
  #9  
Antiguo 02-03-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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:
-------------------------------
INICIO DE SESION
-------------------------------
02/03/2004 18:42:45 >> 1 Configurar la sesion
02/03/2004 18:42:45 >> 1.1 Usando Carpeta de Red: D:\BD\NET
02/03/2004 18:42:45 >> 1.2 Usando carpeta temporal: C:\WINDOWS\TEMP
02/03/2004 18:42:45 >> 1.3 Modo Sesion: cmAll
02/03/2004 18:42:46 >> 1.4 Modo servidor: Si
02/03/2004 18:42:46 >> 2 Alias
02/03/2004 18:42:46 >> 2.1 Creando Alias: TSRG para la carpeta:\BD
02/03/2004 18:42:46 >> 3 Configurar Base de datos:
02/03/2004 18:42:46 >> 3.1 Asignando Controlador
02/03/2004 18:42:46 >> 3.2 Carpeta de Base de Datos: D:\BD
02/03/2004 18:42:46 >> 3.1 Asignado Alias a la Base de Datos.
02/03/2004 18:42:46 >> 4 Alias: TSRG
02/03/2004 18:42:46 >> 4.1 Alias asignado
02/03/2004 18:42:46 >> 5 Sesion Activa
02/03/2004 18:42:46 >> 6 **Conectado a Base de Datos**
Abriendo Clientes
Abriendo Albaranes
Abriendo Tarifas
Abriendo Login
Abriendo Adicional
Abriendo Frases
Abriendo Facturas
Abriendo FactAlb
Abriendo Ciudades
Abriendo ClientesH
Abriendo AlbaranesH
Abriendo FacturasH
Abriendo FactAlbH
Responder Con Cita
  #10  
Antiguo 02-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
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
Responder Con Cita
  #11  
Antiguo 02-03-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
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
Responder Con Cita
  #12  
Antiguo 02-03-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por Letty
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.
Experiencia propia jejejejeje
Responder Con Cita
  #13  
Antiguo 02-03-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
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
Responder Con Cita
  #14  
Antiguo 02-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por Letty
File or directory does not exist
Bastante claro, no??????

Responder Con Cita
  #15  
Antiguo 02-03-2004
Letty Letty is offline
Miembro
 
Registrado: nov 2003
Ubicación: Galicia
Posts: 36
Poder: 0
Letty Va por buen camino
¿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
Responder Con Cita
  #16  
Antiguo 03-03-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 19:58:40.


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
Copyright 1996-2007 Club Delphi