12 Último

Accesos simultaneos a .mdb desde VB (URG)

    • PoetaCamba
      Invitado
    28/10/2002
    #1 Accesos simultaneos a .mdb desde VB (URG)
    sabia gente programadora:

    necesitaria que alguien me guiara con el tema de acceder a DB en Access 2000 desde una aplicacion VB, les comento...

    Es una aplicacion que correria en varias maquinas accesando y modificando simultaneamente DBs de access 2000.
    Lo que necesitaria saber es como hacer para que desde una terminal que accede a una base de datos y la modifica, que otra terminal no pueda dado que la 1era estaria modificando el contenido y tal vez se perderian los datos...
    O de repente como armar una cola de espera para las terminales y a partir de ahi empezar a permitir los accesos...

    Gracias por la ayuda!

    Saludos !!!!!!!
  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    16 comentarios / 3230 Visitas

      • 820
      • mensajes
      • miembro desde
      • 11/03/02
    • Serenity now!
    28/10/2002
    #2

    SI usas un DSN fijate que en las opciones tenes una que dice Exclusivo (Panel de control -> Herramientas administativas -> Origenes de datos ODBC), proba a ver si eso sirve.

      • 8,950
      • mensajes
      • miembro desde
      • 25/09/01
    28/10/2002
    #3

    Si te conectas usando SQL (ADODB) al archivo mdb podes usar el WITH (TABLOCK) para garantizar que vos seas el unico que va a modificar esa tabla, mientras el otro cliente corre el riesgo de un timeout por no poder recopilar datos de ahi, ojo.

    Tambien podes usar TRANSACTIONS.

    • PoetaCamba
      Invitado
    29/10/2002
    #4

    eso eso de transactions me dijeron que tenia que ver...
    para conectarme lo hago por ADO con sentencias SQL hacia el access...

    por algun lado saben donde conseguir data sobre esas "transactions" ??¿¿?¿ o que osn?!¿!¿?!¿?
    ehehjejh

    gracias x la info !!!

    saludos !!!

      • 1,684
      • mensajes
      • miembro desde
      • 26/02/02
    29/10/2002
    #5

    che qwerty, no se pueden hacer transacciones con un mdb.. si en SQLServer...

    MacoNia lo que decis vos se llama "concurrencia" y es cuando varios usuarios tratan de acceder a la misma base, la forma de solucionar, limitar, etc el acceso a esa base se llama "Lockeo"
    y lo tenes que mezclar con el tipo de cursor que recorre el recordset , o sea el CursorType y el LockType, lo que mas te importa es el Locktype

    adLockReadOnly = un recordset de solo lectura, no hay updates
    adLockPessimistic = se puede hacer updates en el recordset, pero se lockea ni bien empezas a editar el recordset
    adLockOptimistic = se puede hacer updates con el recordset, pero se lockea justo antes de hacer el update al registro.
    adLockBatchOptimistic = es como el lockoptimistic, pero en batch...

    me parece que ahi tenes que ver el tema...
    otra cosa.. dependiendo del uso, la cantidad de datos y otras cosas mas, tal vez te conviene usar MSDE.

    salu2

    • PoetaCamba
      Invitado
    29/10/2002
    #6

    muy buena info markust !!!!
    ahora 2 preguntas:
    1.- batch¿?
    2.- MSDE ¿?

    ejejejhej
    como veras mucha idea no tengo...
    te agradezco nuevamente!
    espero responsesssssss

    sasludos !!!

      • 1,684
      • mensajes
      • miembro desde
      • 26/02/02
    29/10/2002
    #7

    1.- no estoy seguro, nunca lo use, es si haces varias modificaciones al registro, se hace un update para todos juntos (los ref modificados)... si no es asi, que alguien me corrija por favor

    2.-MSDE : MS Desktop Engine, es como un SQLServer, solo que para desktops y con un par de cosas propias del SQLServer recortadas, pero muchisimo mas rapido que una base de access...y con capacidad para muchos más datos.
    Lo podes sacar desde el CD de Office 2000, o Visual Studio.net


    Salutes

    • PoetaCamba
      Invitado
    30/10/2002
    #8 MDAC 2.7 y SP3 para el JET

    joya markust, te agradezco mucho...
    te hago una preg que seguramente estas al tanto:
    no sabes que paso con las referencias de ADO ?¿
    porque invoco al driver de ms access (microsoft.jet.oledb.4.0) y ni pelota
    me baje le MDAC 2.7 y el service pack 3 para el JET y sigo sin poder levantarlo desde vb...
    creo la referencia de Microsoft ActiveX Data Object 2.7, y puff!
    ni pelota...
    explota siempre...


    de nuevo muchas gracias por la data!
    saludos!!

      • 1,684
      • mensajes
      • miembro desde
      • 26/02/02
    30/10/2002
    #9

    mmm en una lista que estoy pasaron una URL a un vago le paso lo msio.. igual lo ideal es poner el error que da...

    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q299645

    fijate ahi que onda...

    salutes

    • PoetaCamba
      Invitado
    30/10/2002
    #10

    a mi el error que me tira es como que no esta reconociendo el driver de jet que esta instalado...

    Código:
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    
    cn.Provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBS\datachycl.mdb"
    cn.Open
    
    rs.Open "SELECT * FROM Clientes", cn
    me fije de crear una conexion ODBC y no esta el driver, pero agarre y me baje esos que te puse arriba, primero el MDAC y despues el SP3 del JET y lo unico que hizo fue agregar "Microsoft ActiveX Data Object 2.7" pero ni pelota del JET..
    la verdad que me van a volver loco...

    jejejeej tks markust
    saludos!
    Miniaturas adjuntadas Miniaturas adjuntadas Accesos simultaneos a .mdb desde VB (URG)-dibujo.jpg  
12 Último