viernes, 30 de octubre de 2020

Como Acceder a Oracle 11g Release 2 Express desde NetBeans en Windows, Linux y Mac

Cuando estamos programando una aplicación en Java que usa una base de datos, siempre nos vemos en la necesidad de consultar o hacer alguna operación en la que necesitamos acceder a la misma, nos damos cuenta que es muy comodo hacerĺo desde el mismo NetBeans.

Este tutorial sirve para todos los sistemas operativos que usen NetBeans.

Para acceder al gestor de base de datos Oracle 11g Express Release 2 desde NetBeans necesitamos un conector (driver) específico para Oracle con la versión adecuada de JDK que tenga instalada nuestro equipo y en este caso usaremos un conector del tipo JDBC.

Podemos confirmar la versión JDK que tiene instalado nuestro equipo escribiendo en la consola (CMD - Windows) o (Terminal en Linux, MAc) escribiendo el comando:

java -version

o

javac -version


Vemos en este caso que es la 1.8, lo cual tenemos que tener en cuenta cuando seleccionemos el driver JDBC compatible JDK 8.

Vamos obtener el driver desde la pagina oficial de Oracle, escribimos en nuestro browser (explorador), https://www.oracle.com/index.html, y nos debe aparecer algo similar a lo siguiente:
 

A continuación pulsaremos en el circulo blanco indicado por la fecha roja, subtitulada Trials and Downloads (Pruebas y Descargas). Esto nos lleva a la siguiente página en la que solo vemos la parte de arriba de la misma:


y tendremos que ir bajando hasta la sección que dice Drivers, y pulsaremos sobre la opción que dice JDBC Drivers, como indican las flechas:


Nos aparece la siguiente pantalla y donde seleccionaremos el driver apropiado para nuestra base de datos, que es nuestro caso es el indicado por la flechas rojas, Oracle 11g Release 2:


En la siguiente página debemos marcar la opción que indica que aceptamos el acuerdo de licencia, que indica la flecha:


luego de lo cual desaparecen estas opciones y procedemos a escoger el driver adecuado a nuestro proyecto, que en nuestro caso es el certificado para el JDK 8, que es el que tiene instalado nuestro sistema, para este tutorial, como vimos al principio:


Por defecto la descarga se inicia inmediatamente en la carpeta de Descargas o Downnloads, a menos que tengamos configurado el explorador para que pregunte donde queremos descargarlo, en cuyo caso salta la siguiente ventana:


Pulsamos Aceptar, abrirá una nueva ventana en donde escogemos en que lugar del equipo vamos a guardar el archivo ojdbc6.jar
 
Ya tenemos el driver y ahora nos disponemos a utilizarlo para conectarnos al Oracle 11g Express con NetBeans.

Aquí vamos hacer una aclaración, y es que cuando el NetBeans vaya a usar el driver, nos sugiere que usemos el ojdbc7, el cual no exsite como hemos podido ver na la pagina oficial de Oracle. una vez instalado el NetBeans lanzará una advertencia diciedno que el driver puede dar problemas inesperados, y que  usemos de ojdbc7 en su lugar, cosa que ignoraremos.

La razón es muy sencilla, se volvemos atrás en la imagen de descarga podemos ver que el driver está certificado para ser usado con la versión JDK 8, 7 y hasta la 6.


Dicho esto procedemos a iniciar NetBeans, pulsando sobre el icono que normalmente se crea en el escritorio al instalarlo, o por el menú de aplicaciones.



Una vez iniciado NetBeans, vamos a ir a la pestaña prestaciones (services)


Dentro de la pestaña, tenemos una colección de servicios y vamos a marcar la  opción Base de datos  como se que muestra en la imagen y pulsaremos el botón derecho del ratón que abrirá el submenu contextual en donde pulsaremos sobre Nueva conexión de base de datos.


Se nos abre una ventana que es un wizard de ayuda para realizar la conexión y pulsaremos con el ratón en el triángulo negro pequeño invertido para que se nos abra una lista de opciones, de entre las cuales pulsaremos sobre Oracle Thin como se muestra en la imagen.


Una vez seleccionado el tipo de driver Oracle Thin, NetBeans nos envía un mensaje diciendo que no encuentra el Driver, que lo descarguemos de Oracle y sugiere que sea el ojdbc7.jar. Obviamos el mensaje y pulsamos en el botón Agregar, como indica el puntero en forma de flecha.


Se abre la ventana de  Seleccionar Driver, que simplemente consiste en ubicar el lugar en el que se descargó el archivo ojdbc6.jar al principio de tutorial, desde Oracle. Recordemos que en este tutorial se descargó en la carpeta Descargas, que es donde por defecto descargan la mayoría de los navegadores de internet automáticamente.


Ubicamos el archivo dentro del directorio y pulsamos dos veces sobre el con el ratón o lo marcamos y pulsamos sobre Aceptar, y veremos en la siguiente imagen que el driver es agregado en el campo Driver File(s):


En la imagen anterior ya vemos que el driver ha sido agregado, ignoramos de nuevo el mensaje sobre el ojdbc6 y pulsamos sobre Siguiente.

En este nueva pantalla ya vemos que estamos en condiciones para conectarnos al gestor de base de datos Oracle 11g Express. Lo que vemos son los típicos datos que son necesarios para conectar la base de datos con las aplicaciones que se desarrollan.

Para este tutorial el Oracle 11g R2 Express, se acaba de instalar en el equipo, pero seguramente ya se tiene previamente instalado, y puede que ya se hubiere desbloqueado el usuario "hr". En los siguientes párrafos se explica brevemente mas o menos de que estamos hablando. 

El Oracle Express, trae configurado por defecto un schema para su uso inmediato como ejemplo. Este schema es el "HR" y el usuario asociado tiene el mismo nombre "hr" y en cada instalación nueva, este usuario esta bloqueado.

Veremos como NetBeans nos informa de este bloqueo, para ver un primer ejemplo de conexión fallida, con lo datos del usuario "hr".

Luego continuación haremos otra prueba de pero un usuario que se viene por defecto como super usuario (administrador) del gestor de base de datos, con el cual podemos acceder a todos los schemas que se creados en el gestor, modificarlos, etc... En esta segunda conexión veremos como la misma es exitosa.

Para desbloquear al usuario "hr", hay que acceder a otro programa, y uno de ellos puede ser la consola SQL*Plus, de lo cual  se hablara al final del tutorial más adelante.

NOTA.- Los dos siguientes intentos son para explicar mejor lo que sucede en cada intento, y tratar que se comprenda que está sucediendo, con lo cual no es necesario realizar este primer intento, si lo que quieres es comprobar que te puedes conectar y luego corregir lo que tenga que corregirse en la base de datos o crear tu propio schema personal, etc.


Intento de conexión 1 usando "hr".-

Los datos necesarios para la conexión  son los campos Servidor, Puerto, Servicio ID (SID) Nombre del usuario y contraseña, que para nuestro ejemplo son:

              Servidor: localhost
                 Puerto: 1521 
Servicio ID (SID): XE
Nombre Usuario: hr
        Contraseña: xx

Si se desea se marca el recuadro de recordar contraseña, para no tener que escribirla en cada nueva sesión.

Así mismo el campo URL de JDBC, en principio, no debería modificarse tal como lo coloca automáticamente el formulario, a menos que el driver utilizado necesite alguna información adicional o formato distinto.

Una vez que hemos llenado los campos con los datos, pulsaremos sobre el botón indicado por la flecha roja, Probar Conexión




La siguiente imagen muestra que la conexión falla y vemos que NetBeans nos muestra un mensaje en rojo indicándolo, y al final del mensaje nos dice the account is locked, (cuenta bloqueada) 


Esto nos da un indicio de que una conexión tuvo lugar, ya que la respuesta que recibe NetBeans sobre la cuenta es emitida por el gestor de la base de datos, y para ello tuvo que haber primero una conexión exitosa y luego un mensaje respuesta de rechazo, por parte del gestor al encontrar al usuario el schema bloqueado.


Intento de conexión 2 usando "system".-
Para este intento usamos los mismos datos anteriores, y solo cambiamos el nombre del usuario, y volvemos a pulsar en el botón Probar Conexión.

              Servidor: localhost
                 Puerto: 1521 
Servicio ID (SID): XE
Nombre Usuario: system
        Contraseña: xx


Y como podemos comprobar, el mensaje ahora nos indica Connection Succeeded (Conexión exitosa). Ahora pulsamos sobre el botón Siguiente, y aparece una ventana en la cual vemos que el usuario "system" tiene un schema propio llamado "SYSTEM", asociado por defecto,  pero que además puede acceder a otros schemas como por ejemplo "HR", si pulsamos en el triangulo negro que indica la flecha roja :


Podemos ver otros schemas, pero son del gestor de datos y no deberíamos meternos con ellos a menos que tengamos los conocimientos y experiencia suficiente para hacerlo. Escogemos el schema HR, y pulsamos siguiente.

Aparece otra nueva ventana, en la cual un recuadro con una especie de sentencia que en realidad no es otra cosa que un simple nombre. Cambiamos el nombre por algo mas compresible e identificable com por ejemplo: Conexion a schema HR con system.
 

 Debe quedar así, y terminamos pulsando en el botón Terminar:


Ahora si volvemos a la pestaña prestaciones (Services), podemos ver an la linea naranja resaltada que se nos ha generado una conexión al schema HR que esta en Oracle 11g Express, y que de ahora en adelante solo tenemos que pulsar sobre ella para acceder a las tablas, vista y procesos que hay en el schema. Para verlos solo tenemos que pulsar en el triangulo que esta a la izquierda que apunta el puntero en forma de flecha en la imagen.
 

Si hacemos lo indicado vemos como se desplega hacia abajo, los schemas a los que se puede acceder con system y en negrita HR, que es en realidad al cual esta conectado NetBeans y que si desplegamos de la misma forma cada uno de los elementos que se nos muestra, vemos como incluso podemos escribir una sentencia sql para hacer una consulta. Una forma muy buena de probar estas sentencias sin tener que salir del IDE.


Como se puede apreciar esto es una ayuda adicional, que sin duda hace la vida mas agradable al programador cuando desarrolle aplicaciones con base de datos.

Ahora vamos a desbloquear el usuario "hr" que el Oracle 11g tiene bloqueado luego de ser instalado.

Para ello vamos a usar el SQL*Plus al cual llamaremos desde la consola (CMD - en Windows) o (Terminal - en Linux,Mac) y escribimos en ella:

sqlplus

El programa pedirá el nombre de usuario Enter user-name: escribimos system, luego solicitará Enter Password: escribimos la contraseña que le asignamos a system cuando se instaló el Oracle 11g, y enseguida el programa enviar el mensaje Connected to:  Oracle Database 11g ............, como vemos abajo en la imagen.


Ahora que ya estamos connected (Conectados) a la base de datos, vamos a escribir las siguientes sentencias de comandos,  una detrás de otra:

El comando alter user es bastante descriptivo en cuanto a su significado: alter user (modificar usuario). Seria algo así modificar usuario hr.

La primera sentencia le asigna el password hr al usuario del mismo nombre usando identified by.

La segunda sentencia desbloquea la cuenta del usuario hr usando account unlock.

La tercera y ultima es un prueba de que hr se puede conectar a la base de datos usando la contraseña asignada donde conn es el comando usuario/contraseña@sid de la base de datos que es xe para Oracle 11g Express.

La cuarta es un comando para salir de sqlplus exit.


Las sentencias serían las siguientes(no olvidar ; en las dos primero al final de la sentencia):

alter user hr identified by hr;

Oracle nos debe devolver el mensaje User Altered (Usuario modificado).

alter user hr account unlock;

Oracle nos debe devolver el mensaje User Altered de nuevo.

conn hr/hr@xe

Oracle nos debe devolver connected (conectado).

exit

Oracle nos devuelve el mensaje Disconnected from Oracle.......


Ahora si lo deseamos volvemos a probar, entrando a la base de datos de nuevo.

Escribimos de nuevo en la consola:

sqlplus

y lo demás ya debemos saber como es, guiándote por la imagen inferior




Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

El pertenece a tutorialesJosem.blogspot.com tiene Derechos Reservados.
Su copia total o parcial debe ser mencionada como un enlace a la fuente desde la cual se obtuvo. tutorialesJosem.blogsot.com

No hay comentarios:

Publicar un comentario

Tu comentario puede ser muy útil, asi que no dudes en dejar el tuyo.
Si es relacionado con algún problema, error. etc. trata de ser muy explicito, y detallar el problema y las circunstancias en las que se produjeron. Si lanza algún error trata de copiarlo y pegarlo junto con una descripción del problema, ya que a veces los errores del sistema no son en realidad la causa del problema.

Vistas de página en total