Publicado el 2 comentarios

ResultSet no se hace editable en Oracle

Si la consulta que construye el ResultSet en java es del tipo:

Select * from tabla;

El ResultSet no será editable aunque se le especifique. Para lograr que sea editable es necesario especificar explícitamente los campos en la consulta y que estos formen una identificación única (primary key):

Select campo1, campo2, … from tabla;.

Ejemplo de ResultSet editable:

    try {
        // Crea la sentencia que creará un ResultSet editable
        Statement stmt = conexion.createStatement(
            ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    
        // Se especifican los campos formadores de una identificacion única del registro para que se vuelva editable
        ResultSet resultSet = stmt.executeQuery("SELECT columna1, columna2 FROM tabla");
    } catch (SQLException e) {
      ....
    }
Publicado el 1 comentario

Borrar un esquema en oracle 10g

Para borrar todo un schema de un usuario en Oracle 10g utilice el siguiente comando:

SQL> drop user usuario cascade;

Esta sentencia de sql borrará todos los objetos pertenecientes al usuario dado y el usuario mismo . Asegúrese de que el usuario no tenga conexiones o sesiones abiertas, si no, el comando no se ejecutará y regresará un mensaje informativo.

Publicado el Dejar un comentario

Desconectar un usuario en oracle 10g

Para desconectar un usuario en Oracle 10g primero debemos obtener el SID y SERIAL# del usuario. Para eso ejecutamos la siguiente sentencia sql:

SQL> select SID, SERIAL#, username, osuser, machine from v$session where username = ‘nombre_usuario’;

Donde nombre_usuario es el nombre de usuario que quiere desconectar. Una vez obtenidos los datos con la consulta anterior, ejecutamos la sentencia siguiente tantas veces como filas nos haya arrojado la consulta:

SQL> Alter system kill session ‘SID,SERIAL#’;

Reemplazando SID y SERIAL# con los datos correpondientes de cada fila resultante que arrojó la primera consulta.