none
Error al Insertar registros simultaneamente a base de datos Access Usando Visual Studio RRS feed

  • Pregunta

  • Tengo una aplicación que inserta datos a Tabla de Base de Datos Access bajo entorno de Visual Studio.  Si desde una PC se realiza el proceso en forma aislada la actualización es exitosa, pero si hay otro PC conectado e intenta insertar datos a la misma Tabla arroja un error ("Operación debe usar una Consulta Actualizable"). En las lecturas previas del Form en uso ocupo Tables Adapter para recuperar los datos y la inserción la hago usando el comando Insert.  ej.: 

     Me.PedidosTableAdapter.InsertQuery(xPedido, xLin, xFecPed, xTipPed,...... y todos los datos del mismo).

    La aplicación es una típica de facturación.

    Gracias por ayudas.

    viernes, 11 de agosto de 2017 0:51

Respuestas

  • Buenas, 

    Mi experiencia con MySQL es muy buena, he desarollado una herramienta auxiliar al ERP de una empresa en la que trabajé, a la que se conectan entre 20 y 100 personas simultáneamente, no he tenido ningún problema por concurrencia, pero si que es cierto, que si planeas que tu sistema escale en gran medida(cientos de conexiones), quizás deberías mirar algún otro sistema diferente. De todos modos, para lo que estas planteando, MySQL es más que suficiente.

    lo unico que tienes que tener en cuenta al migrar de un motor a otro (sea a cual sea), es que el SQL es universal, pero algunas instrucciones no, por ejemplo "limit" en MySQL creo que es "top" en SQL Server.

    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!

    • Marcado como respuesta Iván 2017 viernes, 11 de agosto de 2017 17:24
    viernes, 11 de agosto de 2017 17:05

Todas las respuestas

  • Hola

    La aplicación es una típica de facturación.

    ¿El problema lo tienes al ir insertando el detalle?Das muy poca información para que alguien te pueda ayudar, deberías proporcionar más información y mostrar donde te da el error.

    Tal vez esto ayude AYUDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    Saludos


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    viernes, 11 de agosto de 2017 13:01
  • Hola:

     Podrías revisar que tu archivo de base de datos tenga permisos de escritura para el user que mencionas, otra cosa es que dejes de usar DataAdapters para estos casos, en lugar usa lo objetos de Access desde Ado.Net al final te ahorraras muchos dolores de cabeza.


    Saludos desde Monterrey, Nuevo León, México!!!

    viernes, 11 de agosto de 2017 13:27
  • Buenas,

    Access no soporta utilizaciones concurrentes, es decir, dos conexiones no pueden operar la misma tabla al mismo tiempo, si vas a tener situaciones de simultaneidad, te recomendaría que pensaras en cambiar tu motor de bases de datos que si lo admitan como puede ser SQL Server, Oracle, MySQL (Esta es gratuita),etc

    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!

    viernes, 11 de agosto de 2017 15:16
  • Ambos usuarios realizan inserciones en la base de datos durante la misma sesión, pero en algún momento se producen estas colisiones o el error al momento de ejecutar el Insert de Pedidos que menciono. Por lo tanto no debería se un problema de permisos y creo que en todo caso el acceso se bloquea si coinciden en algún punto al insertar.   A que te refieres cuando mencionas "usar objetos de Access desde Ado.Net", recuerda que uso Visual Studio.   Gracias.

    viernes, 11 de agosto de 2017 16:36
  • Buenas,

    el problema es que mientras no accedan las n aplicaciones a la vez, el sistema no va a dar fallos, el problema es que en algún momento acceden a la vez a la misma tabla, y ahí falla.

    Access no soporta utilizaciones concurrentes, es decir, dos conexiones no pueden operar la misma tabla al mismo tiempo, si vas a tener situaciones de simultaneidad, te recomendaría que pensaras en cambiar tu motor de bases de datos que si lo admitan como puede ser SQL Server, Oracle, MySQL (Esta es gratuita),etc

    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!

    viernes, 11 de agosto de 2017 16:40
  • Hmmm. es lo que sospechaba y veo que no tendré otra opción que cambiar el motor de búsqueda.  Alguien tiene referencias sobre el funcionamiento de MySQL para Visual Studio (tengo un manual en pdf y otros recortes), pero me gustaría saber si es buena opción.  Mis aplicaciones están pensadas para ERP para entornos de 10 usuarios.

    Agradezco el apoyo.  Saludos.

    viernes, 11 de agosto de 2017 16:51
  • Buenas, 

    Mi experiencia con MySQL es muy buena, he desarollado una herramienta auxiliar al ERP de una empresa en la que trabajé, a la que se conectan entre 20 y 100 personas simultáneamente, no he tenido ningún problema por concurrencia, pero si que es cierto, que si planeas que tu sistema escale en gran medida(cientos de conexiones), quizás deberías mirar algún otro sistema diferente. De todos modos, para lo que estas planteando, MySQL es más que suficiente.

    lo unico que tienes que tener en cuenta al migrar de un motor a otro (sea a cual sea), es que el SQL es universal, pero algunas instrucciones no, por ejemplo "limit" en MySQL creo que es "top" en SQL Server.

    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!

    • Marcado como respuesta Iván 2017 viernes, 11 de agosto de 2017 17:24
    viernes, 11 de agosto de 2017 17:05