Base de datos

Hola, desde ya gracias por la atención y perdón por las molestias
Tengo dos preguntas:
1- Tengo una BD Access con pass ubicada en una carpeta compartida en red Windows con pass también. Para abrir la base con Msjet4.0 Ado no tengo problemas, el problema es pasarle el pass de la carpeta compartida en otra pc donde se aloja la BD, termino abriendo el explorador de archivos y pasándole la pass manualmente y ahí ejecuto la aplicación sin problemas. También me gustaría saber algún código para depurar errores(si la carpeta no existe, la pc donde esta esta apagada, desconectada etc.)
2- La Bd antes mencionada tiene una tabla con más de 60.000 registros, se me esta haciendo demasiado pesada consultar esta tabla, más aun cuando a veces la tengo que relacionar con otras tablas. Pregunta: access o jet es poco para tantos registros, debo migrar la base, conectarla a ODBC, MySql, o consulto mal con los cursores etc. ¿hay forma de optimizar el tiempo de consulta?
Gracias

1 respuesta

Respuesta
1
Dos sugerencias.
¿Tienes una red LAN con un servidor NT o Windows 2000 y la base de datos se encuentra en una carpeta del servidor?
Supongo que los usuarios de la aplicación se loguean en su dominio, por que no le das permisos a todos los usuarios que tengan que accesar a ese recurso compartido, puedes crear un grupo.
Si la base de datos no esta en un servidor y solamente tienes un grupo de trabajo con Windows 98 (por ejemplo), también puedes hacer lo mismo, debes de configurar Windows 98 para que acceda a los recursos por usuario y no por conexión, eso se hace en las propiedades de Red, luego le das permisos a los usuarios que requieran accesar la aplicación.
De esta manera cuando un usuario se valide en el dominio o en el grupo automáticamente se le otorgará el permiso de acceso a la base de datos de Access.
Definitivamente SQL Server tiene un performance mucho mejor que MS Access, sin embargo te recomiendo que antes de hacerlo le eches un vistazo al diseño de tu base de datos en particular a los campos sobre los cuales se hacen las búsquedas y la relaciones, checa sus indices.
Ahora, si decides migrarla a SQL Server y utilizar VB 6.0 como front end, no es necesario que utilices ODBC para accesarla, puedes conectarte con ADO y abrir la conexión con SQLOLEDB.
Gracias por responder, lo de la BD creo que tienes razón, debo trabajar sobre la estructura y los indices, con respecto a la conexión en red, en principio estoy trabajando sin servidor, en una simple red windows 9x-me, no tengo problema con la seguridad de la BD ya que esta posee contraseña y solo se la abre por código, el problema es que quiero que la carpeta donde se aloja sea invisible al usuario ya que en ella guardo otros archivos que no me gustaría que sean visibles y quiero restringir la posibilidad de que la copien aun no la puedan abrir o la borren, por eso la carpeta tiene pass, mi problema es que no encuentro forma de pasarle el password por código, aunque no estoy seguro de que esto en el sist. Operativo se limite solo a la aplicación y permita entrar por red una vez que el código le ha pasado el pass.
Gracias
javier
Creo que la solución que buscas no es la óptima, no se como pasar el password de la carpeta compartida a Windows Me a través de visual basic, pero creo que aún si lo lograras, entonces cuando se conecten todo el recurso quedaría visible para el usuario archivos y demás.
Sigo pensando que tu mejor solución es modificar la manera en que Windows Me comparte los recursos, en lugar de hacerlo por password que lo haga por usuarios, de esta manera podrías seleccionar a quien le darías permisos de abrir la carpeta, incluso va más aya, puedes restringir que a que archivos pueden tener permiso los usuarios de lectura, de modificar y de eliminar, y a cuales usuarios no, así que con eso podrías evitar que los abran y que los copien.
Creo que solo tendrías que configurar la PC en donde se encuentra tu aplicación.
En este momento no tengo una pc con Windows ME para decirte exactamente como pero la configuración te la mencioné en respuesta pasada.
Si tienes dudas contáctame.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas