Foros del Web » Programando para Internet » PHP »

Conexión PHP Access

Estas en el tema de Conexión PHP Access en el foro de PHP en Foros del Web. Saludos. Estoy conectando desde PHP a una base de datos Access por ODBC para insertar registros con SQL. Varios usuarios utilizan el sistema. Resulta que ...
  #1 (permalink)  
Antiguo 25/10/2013, 07:27
Avatar de cchaparro  
Fecha de Ingreso: febrero-2009
Ubicación: Medellín
Mensajes: 80
Antigüedad: 15 años, 1 mes
Puntos: 2
Pregunta Conexión PHP Access

Saludos.

Estoy conectando desde PHP a una base de datos Access por ODBC para insertar registros con SQL. Varios usuarios utilizan el sistema.

Resulta que en ocasiones cuando se agrega un registro nuevo sale dos veces con el mismo consecutivo.

El consecutivo se lee de un campo de la misma tabla y se agrega el registro consecutivo+1. Parece que se da el caso que coincidan dos usuarios en leer ese registro y ponen el mismo consecutivo al insertar. Sin embargo, añadí este proceso:
- Lee el consecutivo.
- Antes de insertar el consecutivo+1, comprueba si ya existe (caso que otro usuario insertara antes).
- Si existe, vuelve a sumar 1 y comprueba de nuevo.
- Si no existe, entonces lo agrega.

El caso es que este proceso adicional no debería ser necesario, e incluso así, sigue duplicando el consecutivo.

Quería entonces preguntarles, si saben en qué forma puedo conectar PHP con Access para que al momento de realizar la inserción de datos, la conexión deje la base de datos bloqueada hasta que termine la transacción, y luego retome la "cola de espera" de otras transacciones, ya sea controlando por el ODBC, por Access, por SQL, por PHP, por donde sea que pudiera lograrlo.

Les agradezco mucho su ayuda.
  #2 (permalink)  
Antiguo 25/10/2013, 07:52
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Conexión PHP Access

Para que.no tengas problemas el consecutivo tiene que ser autoincrement y primary key o unique key, asi no se repite el.valor
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 25/10/2013, 10:33
Avatar de cchaparro  
Fecha de Ingreso: febrero-2009
Ubicación: Medellín
Mensajes: 80
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Conexión PHP Access

Gracias por tu pronta respuesta.

Sí, lo se, sería lo mejor, pero quienes hicieron la base de datos no pueden cambiar eso, es sólo numérico, digamos que no la construyeron bien y ahora no pueden modificar esto o se embalan con los clientes.

Me toca entonces darle otra solución, mirando la parte de bloqueo de transacción o algo así, sea por ODBC, Access, no lo se.

Ojalá exista alguna posibilidad distinta Dios mediante.
  #4 (permalink)  
Antiguo 25/10/2013, 13:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Conexión PHP Access

access no controla concurrencia, por mucho que disponga de un motor transaccional es muy limitado y poco eficiente, lo ideal en tal caso es migrar a mysql, postgres o un SDBMS de verdad, lo siento pero continuar con access hoy en día es atarse una soga al cuello.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: access, bases-de-datos-general, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:37.