RESPUESTA A LA PREGUNTA 7940 - REDES Usas ODBC.. bien... ¿Pero te das cuenta que cada vez que haces una consulta están leyendo los clientes el archivo .mdb prácticamente entero del servidor? Me explico: Diferencia entre servidor SQL y la "chapuza" (perdón que sea un poco duro ;) del mdb compartido radica esencialmente en el uso del ancho de banda de la red sobre la que se comunican los equipos cliente/servidor. Te explico esto con ejemplos: SERVIDOR SQL: **Cliente: Quiero saber el teléfono de los clientes tengo en Linares. **Red (sentido cliente->servidor): SELECT nombre, telefono FROM clientes WHERE localidad="Linares" (unos 200 bytes de datos, por poner un ejemplo, que tardan en transmitirse menos de un segundo). **Servidor: Busco en mi base de datos con 500.000 clientes lo que me piden (voy a tardar unos 2 o 3 segundos, es la carga real de la búsqueda, conviene que el servidor sea muy potente y con discos duros de 7.200 o 10.000 rpm, con tiempo de acceso de unos 5 o 6 ms, etc...). **Servidor: ¡Ya está! tengo 1000 clientes allí, te mando SÓLO el nombre y teléfono de cada uno de ellos. **Red (sentido servidor->cliente): la tabla de vuelta ocupará unos (por poner un ejemplo) 50 bytes por nombre y 30 bytes por localidad, como son 1.000 clientes... son 80.000 bytes a transmitir por la red (por internet serían unos 5 segundos, una red local es menos de un segundo). **Cliente: Perfecto, recibidos todos los datos en muy poquito tiempo ;) SERVIDOR DE ARCHIVOS: **Cliente: Voy ha hacer la búsqueda esa de los clientes (pa no repetir ;) Así que como es un archivo de Access, voy a abrirlo para trabajar con él desde mi equipo (el programa se piensa que el archivo esta en nuestro disco duro). **Red: ¡¡Cachis en la mar!! ¡tenemos un mdb que ocupa 50 MEGAS! ¡¡¡el motor de base de datos me hace transferirle el archivo por partes poco a poco desde la red!!! **Servidor: Umm, alguien me pide abrir y leer un archivo desde la red... es un poquitín grande, pero weno, soy un Netfinity y no hay problema (caxhondeo a parte ;) **Red: A ver.. no se conforman con leer un archivo, si no que leen de un sitio, saltan a otro, releen de nuevo otro sitio por el que ya pasaron, ¡¡Y TODO PASA SOBRE MIIII!! ¿Cuánto tiempo tardo en transferir a 5 personas simultáneamente este archivo si hacen alguna consulta al mismo tiempo? **Cliente: Me estoy aburriendo, jugaré un poco al buscaminas... **Red: Umm.. son 50 megas, el ancho de banda efectivo (si no uso switch en la red, y el disco duro del servidor me entrega el archivo a máxima velocidad) es de 100 Mbps * 0.7 = 70 Mbps = 8'75 MBps / 5 clientes a la vez (no estamos contando colisiones, etc..) = 1'75 MBps por cliente, es decir, 50 MB / 1'75 MB/s ~= 30 segundos. **Cliente: ¡Ya era hora! ;) Esto es un supuesto, donde no he contado saltos, ni trozos del mdb que no pasen por la red, ni colisiones (la red se viene abajo y baja del 30% de utilización), etc... Mejor pásate ante esos casos a SQL. Si quieres estoy disponible por email para responderte a las dudas que me plantees. Te recomiendo que para mejorar el rendimiento, usar un switch en vez de un hub, pero es una solución que tarde o temprano también se te quedará pequeña, sobre todo si la base de datos crece y crece... El disco duro del servidor... si le montas un Seagate Cheetah también verás mejorada la capacidad de respuesta. Aún así, no tiene ni punto de comparación usar un servidor SQL (luego también depende la velocidad de búsqueda de la potencia de las máquinas cliente) que usar un servidor de archivos. Un saludo, y ánimo. Oscar Garcia tecnico@intercom-redes.es