FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Paradox en red - Releyendo el articulo!!!
Configuracion paradox + BDE + windows Xp en dos ordenadores
Problema 1 ------------- Hola amigos. He releido 40 veces dicho articulo y deja muy clarito que en todas las máquinas se debe usar la misma carpeta en notación UNC. Pero Windows Xp no deja acceder a esa carpeta de red si el ordenador que actua de cliente está apagado (dice que la red no está operativa), por tanto el ordenador que tiene la base de datos, no puede conectar con la base de datos. ¿Hay forma cristiana de decirle a windows que no compruebe la red, o engañarlo y que acceda a la carpeta ? ¿Otra posible configuración? Problema 2 ------------- La solución que he estado usando es poner en el que actua de servidor la carpeta netfiledir := C:\bd\net y en el cliente usar la notacion UNC, pero al acceder el ordenador que actua de cliente y modificar la base de datos obtengo un bonito corrupt index/table header. Lo que no sé es por qué se produce este error, lo más que he podido encontrar es que ese error pertenece a la categoria: Cita:
He buscado en el foro y he encontrado la aplicación CAERQUES que comentaba marcosZorrilla en un hilo. Con esto espero se solucione el Problema 2, pero, y el Primer problema? Despues de un año funcionando el programa sin errores, ahora, en 2 dias ha dado el error de corrupt index / table 3 veces !!! Cualquier sugerencia la agradeceré Eternamente. PD: Si no me he explicado bien, por favor, pregúntenme. Esto me tiene muy quemado Última edición por Lepe fecha: 13-07-2004 a las 16:40:05. |
#2
|
|||
|
|||
Indices Corruptos
|
#3
|
||||
|
||||
La verdad es que yo he configurado varias veces el paradox en una red XP y no da ese error que mencionas, ese error de corrupt header me daba recisamente cuando configuraba mal el BDE.
A ver yo configuro la red en el xp de manera sencilla, por medio de un grupo de trabajo, y el unico protocolo de las maquinas el IP, y me funciona a las mil maravillas, por lo visto tu problema no esta en la corrupcion, dado que ese se arregla con la buena configuracion del BDE
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#4
|
||||
|
||||
Muchas gracias a ambos por contestar. Vani chequeo el link mas despacio y os cuento.
Cita:
el que tiene las BBDD localshare := true netfiledir := 'c:\bd\net'; el que accede por la red localshare := false netfiledir := '\\miserver\bd\net'; Cita:
|
#5
|
||||
|
||||
si, se me paso decirte segun el articulo, o sea todo con UNC. EL problema en realidad es que no puedes configurar la red del XP.
Sera que estas utilizando el asistente, porq no pruebas a hacerlo de forma manual.
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#6
|
||||
|
||||
Cita:
Además yo configuro: PrivateDir := C:\Temp Asegurándome de que dicha carpeta existe en todos los equipos y en caso contrario creándola, también antes de la creación del primer DataModulo me aseguro de borrar todos los ficheros de tipo *.lck si existiera, ya que estarían localicados en la carpeta citada. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 13-07-2004 a las 19:01:36. |
#7
|
||||
|
||||
Cita:
Cita:
Uso la comparticion de archivos simple de windows XP. La carpeta está compartida con acceso total. el nombre del recurso compartido es 'BD' La carpeta real reside en 'C:\BD' La red tiene más protocolos instalados además del IP, (usa impresora compartida y conexion a internet) Meteré mano a la red y os cuento. Muchas gracias, es un honor poder contar con Ustedes. |
#8
|
||||
|
||||
Yo nada más quiero acotar que jamás he utilizado rutas en notación UNC directamente.
Instalo la aplicación en una carpeta "sistema" con una subcarpeta "tablas" para las tablas: Código:
C:\ |__sistema |__ tablas S: --> \\servidor\sistema (aquí sí UNC pero vía Windows no en código) y configuro el alias del bde para que apunte a S:\tablas. En el "servidor" configuro el alias directamente a c:\sistema\tablas. La aplicación, ahora sí el código, contiene una componente TDataBase que, además del alias, inicializo así:
Nada de agregar una componente TSession que para eso Delphi da una por defecto. Entonces el directorio Net es el mismo que donde está el ejecutable. No es exactamente lo que recomienda el artículo pero huelga decir que accedo sin ningún problema desde el mismo "servidor" y desde cualquier "cliente" sea éste Win9x, Win2k o WinXP. El único problema que ocasionalmente se presenta es el de "Index Out Of Date" pero sólo cuando por alguna razón se cierra el Windows del "servidor" "a la mala" estando tablas abiertas. // Saludos Última edición por roman fecha: 13-07-2004 a las 19:53:30. Razón: Etiqueta mal colocada |
#9
|
||||
|
||||
Roman, solo hay un detalle que se me escapa, en esta línea
el Database.Directory, lo asignas tú en código, en diseño.... Yo primero confguro el Session y despues el Tdabase, por tanto, esa propiedad me devuelve la cadena vacia al consultarla Saludos |
#10
|
||||
|
||||
Cita:
Database1.Connected := true; Luego de esto, Directory debe ya contener la ruta a la que apunta el alias. // Saludos |
#11
|
||||
|
||||
Hola de nuevo:
Hartito de hacer pruebas llego a la conclusión de que los 2 Hordenadores deben estar encendidos para que funcione todo bien. Todas las pruebas tienen la misma conclusión: "la red debe estar habilitada y funcionando para que windows permita el acceso." (Parece lógico, pero no lo fue para mi en alguna situación) Básicamente es lo que decíais en los primeros mensajes, pero mi ignorancia no me dejaba ver el por qué de todo eso, así que me he recalentado las neuronas, y me ha servido para entender esa "nubecita" que era el BDE, localshare y algunas cosas más sobre la red. El hecho: nada más apagar el ordenador "cliente" aparece en el "servidor" el cartelito de "Cable de red desconectado", y a partir de aquí toda la red se inhabilita. Desde internet explorer puedo acceder a \\WinXP, donde aparece mi carpeta compartida, pero al intentar entrar en ella dice: Cita:
Desde mi programa, accediendo desde el "servidor" con rutas UNC el error que da es: Cita:
Si en el "servidor" uso el NetFileDir y DatabaseDir con rutas UNC, y los 2 ordenadores de la red están encendidos todo va de miedo, al intentar bloquear un mismo registro en ambos ordenadores, sale un messagebox programado indicando que ya está bloqueado por el usuario: nombre_usuario_de_mi_programa Todo correcto!!! ---------------------------- 3ª PRUEBA -------------------------------- Si en el "servidor" uso el NetFileDir y DatabaseDir con rutas locales, cuando entra el "cliente" con rutas UNC, los bloqueos de registros no funcionan correctamente, es decir, me deja bloquear el mismo registro en ambos ordenadores a la vez, en este caso "peculiar", El registro queda con los datos del último usuario que grabó el registro, además da algún error físico en las tablas (missing .val de alguna tabla, corrupt index, index out of date). Cuando digo error físico, me refiero a "Physical Data Corruption" que los mencioné en mi primer mensaje. A mí personalmente me ha dado estos: Corrupt table/index header. Corrupt index. Corrupt or missing .VAL file. BBDD corrupta, echa mano de la copia de seguiridad Caaaaatalina (Corrupt index, puede solucionarse borrando los indices y volviendolos a crear... pero si tienes un Backup, es más cómodo tirar de él). ---------------------------- 4ª PRUEBA -------------------------------- Configurando la red Local manualmente: - Instalación por "asistente de red" por más que quiera hacerlo a mano, Windows XP Professional se mete en medio, (estupenda carabina no??) - Despues, Añado direcciones ip: 192.168.0.X y mascara de subred 255.255.255.0 a los dos Protocolos TCP/IP de red, donde "X" es 1 para el "servidor" y 2 para el "cliente" Código:
Pruebas realizadas desde la consola de Winxp, ("servidor") Ping Winxp // si funciona en todos los casos. net view winxp //siempre funciona y muestra la carpeta compartida. Ping 192.168.0.1 //"Host de destino inaccesible" si el otro ordenador de la red está apagado Ping 192.168.0.1 //da valores correctos si el otro ordenador de la red está encendido Código:
\\127.0.0.1\sistema \\winxp\sistema el nombre del equipo en el panel de control, sistema es "winxp" \\192.168.0.1\sistema la direccion IP asignada en el protocolo tcp/ip es esa misma. ---------------------------- 5ª PRUEBA -------------------------------- Mapeando una unidad. Según mis pruebas, sirve para quitarte el engorro de rutas UNC al configurar los "clientes", pero al fin y al cabo estas usando rutas UNC. No me ha quedado claro el uso de ExpandFileName, revisando esa funcion y sus relacionadas, yo hubiese usado intuitivamente ExpandUNCFilename, el cual traduce S:\tablas a \\servidor\sistema\tablas en los "clientes"; en el "servidor" el uso de rutas locales no me cuadra jejejeje. Roman tu configuración es muy interesante, pero son demasiados parámetros para contrastar, Creación de Alias, BDE, Sessiones, Tdabase, Directorios....Que tengan encendidos los 2 ordenadores o que compren otro ordenador para tenerlo de "servidor exclusivo". PD: Gracias por decirme que existen ExpandFileName y ExpandUNCFilename Agradezco toda la información que me han proporcionado, sin ellas, no sabía ni por donde empezar a recalentarme las neuronas. Espero que toda esta parrafada también le sirva a alguien más. Saludos y a ver que nos propone el windows Loghorn (o como se llame) |
|
|
|