Acceso múltiple a registros
Hola tengo un problema con mi aplicación (manejo de una base de datos a través de web). Estoy trabajando en postgresql y java necesito saber como puedo impedir acceder a un usuario con permiso escritura a un registro que lo tenga abierto otro usuario con permiso escritura.ME han dicho que se emplenta al abrir la base de datos por medio de locks o transacciones. PEro no tengo ni idea de esto. Podrías echarme una mano.TE pongo la clase echa en java para abrir la base de datos por si te sirve de ayuda:
void conectaDBMS(String basedato,String usuario) throws Exception {
if (Debug.LEVEL>0) Debug.println("BaseDatos.BaseDatos().basedato="+basedato);
if (Debug.LEVEL>0) Debug.println("BaseDatos.BaseDatos().usuario="+usuario);
con=null;
this.nombrebd = basedato;
this.usuario = usuario;
// url de la base de datos
String url=new String("jdbc:postgresql://"+
Configuracion.SGBD_IP+":"+Configuracion.SGBD_PORT+"/"+nombrebd);
// Carga del Driver
try {
Class.forName("org.postgresql.Driver");
} catch(ClassNotFoundException ex) {
if (Debug.LEVEL>1) Debug.println("Error al cargar el driver");
if (Debug.LEVEL>1) Debug.println(ex.getMessage());
}
// Establecimiento de la conexión
try {
con=DriverManager.getConnection(url,usuario,Configuracion.SGBD_PASS);
}catch (SQLException sqlEx) {
if (Debug.LEVEL>1) Debug.println("Se ha producido un error al establecer la conexión con: "+url);
if (Debug.LEVEL>1) Debug.println(sqlEx.getMessage());
throw new Exception("Error al establecer la conexion con el sistema DBMS");
}
}
Gracias de antemano.
void conectaDBMS(String basedato,String usuario) throws Exception {
if (Debug.LEVEL>0) Debug.println("BaseDatos.BaseDatos().basedato="+basedato);
if (Debug.LEVEL>0) Debug.println("BaseDatos.BaseDatos().usuario="+usuario);
con=null;
this.nombrebd = basedato;
this.usuario = usuario;
// url de la base de datos
String url=new String("jdbc:postgresql://"+
Configuracion.SGBD_IP+":"+Configuracion.SGBD_PORT+"/"+nombrebd);
// Carga del Driver
try {
Class.forName("org.postgresql.Driver");
} catch(ClassNotFoundException ex) {
if (Debug.LEVEL>1) Debug.println("Error al cargar el driver");
if (Debug.LEVEL>1) Debug.println(ex.getMessage());
}
// Establecimiento de la conexión
try {
con=DriverManager.getConnection(url,usuario,Configuracion.SGBD_PASS);
}catch (SQLException sqlEx) {
if (Debug.LEVEL>1) Debug.println("Se ha producido un error al establecer la conexión con: "+url);
if (Debug.LEVEL>1) Debug.println(sqlEx.getMessage());
throw new Exception("Error al establecer la conexion con el sistema DBMS");
}
}
Gracias de antemano.
Respuesta
1