Visual Basic - Duda urgente

Life is soft - evento anual de software empresarial
 
Vista:

Duda urgente

Publicado por kikecg (352 intervenciones) el 10/03/2003 15:42:59
Hola a tod@s.
Tengo una duda bastante urgente y agradecería que me ayudaran a resolverla. Veamos, estoy creando un programa en VB para acceder a una base de datos en access. Lo que necesito saber es si esa base de datos la podrán consultar varios usuarios simultaneamente, validando a esos usuarios mediante contraseñas. Y, en caso afirmativo, ¿como?. ¿Debo cambiar algo en la base de datos para que acepte varios usuarios o simplemente implementarlo en el código del programa?.
Muchas gracias.
Ah!, conecto a la base de datos mediante ADO, a traves de código.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda urgente

Publicado por Esteban (1144 intervenciones) el 10/03/2003 16:32:28
Si se puede consultar como multiusuario, pero no mencionas si conectas con ADODC o por código.

Lo que voy a poner lo he escrito antes: "Access no es una BD, más bien es un archivo de datos que puede corromperse si más de cierta cantidad de personas la acceden simultaneamente, por esa razón es recomendable abrir la conexión cuando se va a consultar, insertar, acutalizar o eliminar, una vez terminada la transacción se cierra la conexión y de esta forma la BD puede trabajar con más de 100 usuarios y sin el riesgo de corromperse el archivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda urgente

Publicado por kikecg (352 intervenciones) el 10/03/2003 17:13:25
Hola.
Ante todo, gracias por contestar tan rapidamente.
Conecto a la base de datos a traves de codigo. Utilizo para ello un objeto ADODB.Connection. La cadena de conexión incluye el Provider, Data Source y 'Persist security info=FALSE' (esto ultimo, realmente no se para que sirve. Lo vi así en los primeros ejemplos que fuí siguiendo y desde entonces lo pongo siempre...).
Actualmente, abro la conexión al iniciar el programa (MDI) y la cierro al terminar la aplicación. Lo que tu aconsejas es abrir la conexión cada vez que vaya a consultar, añadir o eliminar datos, ¿no es asi?. Eso sería cambiar un par de líneas de código, creo yo, pero debería funcionar bien.
He estado ojeando las opciones de seguridad de Access y me parece entender que los usuarios los debo añadir desde ahí. ¿Es así?.
Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda urgente

Publicado por Esteban (1144 intervenciones) el 10/03/2003 17:23:13
Puedes tener un módulo que te maneje una variable con la cadena de conexión que te genera el connectionstring que se termina de formar al hacer open al objeto conexion. Está bien que lo uses al iniciar el mdi, pero no es recomendable tenerlo abierto todo el tiempo.

Con la variable que maneja como string la conexión, puede volver a llamar la conexión y abrirla, obviamente le asignas el string al objeto conexion, luego, cuando terminas invoca un proceso que cierre la conexión.

Yo hago eso y no se lerdea nada, lo he probado con Access, Oracle, SQL Server y MySql hasta el momento y para mi es forzado pues utilizo el esquema de NCapas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda urgente

Publicado por kikecg (352 intervenciones) el 10/03/2003 17:44:27
Ok.
Acabo de cambiar el código de modo que sólo tengo abierta la conexión cuando es imprescindible, es decir, al leer o añadir datos.
Y por el momento no se ralentiza ni nada.
Ahora a ver si averiguo lo de los usuarios. En ese caso tendría que cambiar la cadena de conexión para cada usuario que utilice el programa. Por ejemplo, pidiendo usuario y password al arrancar el programa y añadiendolo directamente a la variable que almacena la cadena de conexión. En ese caso tendría que probar la conexión nada mas introducir el usuario y el password, para evitar males mayores.
Thanks.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar