Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] ¿Cómo creo un usuario en Oracle desde java?

Estas en el tema de ¿Cómo creo un usuario en Oracle desde java? en el foro de Java en Foros del Web. Hola a todos. Este es mi primer mensaje en este foro :P Yendo directo al grano. Mi duda es cómo crear un usuario a una ...
  #1 (permalink)  
Antiguo 03/04/2013, 22:09
Avatar de chestacio  
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta ¿Cómo creo un usuario en Oracle desde java?

Hola a todos. Este es mi primer mensaje en este foro :P

Yendo directo al grano.

Mi duda es cómo crear un usuario a una Base de Datos Oracle desde java? La idea es que se registre un usuario mediante un nombre de usuario y la pass a través de un formulario.

Por el momento tengo esta clase definida. Intenté usando el método ejecutarUpdate, pero no pasa nada.

Código:
public class conexion {
    
    static Connection conexion;
    static Statement sentencia;
    static ResultSet resultado;
    static String query = "";

    public static boolean conectar(String usuario, String pass) {
        String ruta = "jdbc:oracle:thin:@localhost:1521:carlos";
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conexion = DriverManager.getConnection(ruta, usuario, pass);
            sentencia = conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            System.out.println("CONECTO BIEN!!!");
            return true;
        } catch (ClassNotFoundException e) {
            System.out.println("ClassNotFoundException: " + e.getMessage());
            return false;
        } catch (SQLException e) {
            System.out.println("No se encuentra el usuario '"+usuario+"' en la base de datos.");
            return false;
        }
    }

    public static boolean ejecutarConsulta(String q) {
        query = q;
        try {
            resultado = sentencia.executeQuery(query);
            System.out.println("se ejecuto consuloat");
            return true;
        } catch (SQLException e) {
            System.out.println("No se ejecuto la consulta!!");
            e.printStackTrace();
            return false;
        }
    }
    
    public static boolean ejecutarUpdate(String q) {
            query = q;

            try {
                sentencia.executeUpdate(query);
                System.out.println("se ingreso a la BD");
                return true;
            } catch (SQLException e) {
                System.out.println("No se ingreso a la BD!!");
                e.printStackTrace();
                return false;
            }
        }
        
        
}
¿Alguna idea? Estoy medio desesperado D:

Saludos :D
  #2 (permalink)  
Antiguo 04/04/2013, 01:39
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: ¿Cómo creo un usuario en Oracle desde java?

Pues sin saber que query usas para hacer el insert o para recuperar el usuario, difícil ayudarte.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 04/04/2013, 01:42
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: ¿Cómo creo un usuario en Oracle desde java?

Hola:

Intenta desde java ejecutar la SQL de creación de usuarios "create user ... identified by ...."

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 04/04/2013, 08:50
Avatar de chestacio  
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: ¿Cómo creo un usuario en Oracle desde java?

Se me olvidó poner que sí puse la consulta para crear usuarios desde java xD!

Lo que pongo es "CREATE USER prueba IDENTIFIED BY 1234 DEFAULT TABLESPACE users" (sin comillas, claro)

La cosa es que probé con los dos metodos (ejecutarConsulta y ejecutarUpdate) y ambos me devuelven el valor false.

Alguna sugerencia?? Saludos.
  #5 (permalink)  
Antiguo 04/04/2013, 09:47
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: ¿Cómo creo un usuario en Oracle desde java?

Para DDL tienes que usar executeUpdate, y el resultado es 0. ¿Has comprobado si lo crea o dices que no por lo que devuelve?¿Salta alguna excepción?

Nunca lo he probado con CREATE USER, así que no estoy seguro del todo.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 04/04/2013, 10:30
Avatar de chestacio  
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: ¿Cómo creo un usuario en Oracle desde java?

Al final sí pude crear un usuario. El problema es que estaba creando un usuario logueado de un usuario que no era system, por lo que no tenia los privilegios suficientes para crear otros usuarios.

¡Gracias de todas maneras a todos!

Etiquetas: oracle, usuario
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 13:54.