Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 03-nov-2005, 12:41   #1 (permalink)
CARCAHARAS ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2005
Mensajes: 293
Error Al Eliminar Usuario

Hola tengo un problema:
Tengo una aplicacion que trabaja con java y oracle 9i. Lo que pasa es que tengo una base de datos creada, y varios usuarios creados para ella. En un momento dado quiero eliminar uno de esos usuarios y la aplicacion siempre me salta con el mismo. Si por ejemplo he creado tres usuarios en este orden:
usuario1
usuario2
usuario3

intento eliminar el usuario1, y el usuario2 y no me da ningun problema. El problema es cuando intento borrar el usuario3 que es ultimo que he creado. me da el error:

ORA-01940: no se puede borrar un usuario conectado actualmente
No entiendo por que me da ese error si yo en el codigo en el cual elimino el usuario lo primero que hago es conectarme a la base de datos con otro usuari( me conecto con el usuario system, de este modo el usuario que esta conectado es system y no el que quiero eliminar!) Os pongo el codigo a ver si veis donde puede estar el error ok?

try {
Connection con = gdc.ConexionServauto();
PreparedStatement ps;
con=gdc.ConexionAlumno("system","alumno_system"); ps=con.prepareStatement("drop user "+usuario+" cascade");
int afectados = ps.executeUpdate();
}


Dos comentarios:
1. he comprobado el valor de la variable "usuario" y efectivamente toma en cada momento el valor del usuario que quiero eliminar por lo tanto ahí no esta el erro.
2. La linea que he recalcado es la linea donde llamo a la funico que únicamente hace conectarse a la base de datos con el usuario system os pedgo el codigo por si acaso:

public Connection ConexionAlumno(String usuario, String password){
try{
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@loc alhost:1521:ALUMNO", usuario,password);
return con;
}catch (Exception ex){
return null;
}
}
CARCAHARAS está desconectado   Responder Citando
Antiguo 03-nov-2005, 13:43   #2 (permalink)
erikantonio ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2005
Mensajes: 95
mira no se si sera pero cuado colocas cascade como dice su nombre elimina en cascada todos los objetos que estan relacionados.
Otra informacion si quieres manejar usuarios de algun sistema lo ideal es que cres una tabla "usuarios" y dentro de ella creas usuarios y en vez de eliminar usuarios propios de la base eliminas usuarios de una tabla, espero se haya entendido.
erikantonio está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 11:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93