Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Laravel / Conexión a base de datos Oracle con Laravel

Conexión a base de datos Oracle con Laravel

Por jc mouse jueves, octubre 22, 2020

En esta ocasión aprenderemos a conectaros con una base de datos Oracle desde Laravel. Es un tutorial sencillo y cortito, pero eso si, se requiere de varias herramientas y conocimientos sobre base de datos, servidores web, proyectos en laravel y sistemas operativos. Comencemos.

¿Qué necesitamos?

  • Visual Studio Code
  • Un nuevo proyecto en Laravel
  • Composer
  • Driver laravel-oci8
  • Servidor Apache. Con XAMPP nos basta y sobra
  • Biblioteca Instant-Client de Oracle
  • Base de datos Oracle local o remota

Nivel: Intermedio

Paso 1. Biblioteca Instant-Client

La biblioteca de Oracle Instant Client nos permite que las aplicaciones se conecten a una base de datos Oracle ya sea local o remota. Para descargar la biblioteca ingresa Oracle Instant Client y luego a la sección de descargas donde se debe seleccionar el sistema operativo, para nuestro ejemplo Windows. Un detalle importante, aun si tu SO es de 64 bits, descarga la biblioteca para 32 bits.

La última versión de la biblioteca es la 19.8, para el ejemplo de este tutorial utilizaremos Basic Package instantclient-basic-nt-12.2.0.1.0.zip  (requiere registro), la razón es que tengo instalado Microsoft Visual Studio 2013 y me dio pereza actualizar a 2017. Continuemos

Una vez descargado la librería, descomprime en algún lugar de tu computadora, yo lo hice en «D:\Oracle\instantclient_12_2», anota esa ruta ya que luego debes agregar la misma en el PATH del sistema y reiniciar el equipo.

Paso 2. Habilitar Instant-Client en el servidor

Ahora debemos habilitar la biblioteca en XAMPP.

Abre el archivo php.ini ubicado en xampp/php/ y busca la línea «;extension=oci8_12c», borra el punto y coma «;» y guarda los cambios.

Reinicia el servidor y abre phpinfo.php, busca OCI8 para comprobar que la extensión esta habilitada.

oci8 apache xampp

Hasta aquí, la conexión a Oracle debería funcionar correctamente, pero y si no entonces debemos realizar lo siguiente:

EXTRA: Abre la carpeta de instantclient_12_2/ y copia todas as *.dll que encuentres, ve a xampp/php/ y pega las librerías, haz lo mismo con /xampp/php/ext/, es decir, pega también ahí las librerías de instantclient_12_2/. Realiza esta acción solo si más adelante tienes problemas al conectar con Oracle.

Paso 3. laravel-oci8

Laravel-OCI8 es un paquete que te permite comunicar Laravel con Oracle, el proyecto se encuentra bajo la licencia del The MIT License (MIT).

Abre tu proyecto Laravel con VSC y luego una nueva terminal. Escribe el siguiente comando para instalar laravel-oci8:

composer require yajra/laravel-oci8:^X

donde en X, se debe indica la versión del proyecto Laravel.

Una vez terminada la instalación, se debe registrar laravel-oci8, para ello abrir el archivo app.php de la carpeta config/ y agregar en provider:

Yajra\Oci8\Oci8ServiceProvider::class,

Paso 4. Configuración de la conexión a Oracle

Abre el archivo .env e introduce tu configuración para Oracle:

configuracion a base de datos oracle

En una terminal escribe:

php artisan vendor:publish –tag=oracle

Lo que hace este comando es crear un archivo oracle.php en la carpeta config/, el contenido es el siguiente:

archivo de configuracion

Finalmente copie el contenido de oracle.php en en el archivo database.php  y guarde los cambios.

Paso 5. Conexión a base de datos Oracle

Abra el archivo web.php de la carpeta routes/ y reemplace la ruta por defecto por:

controlador de recursos

Cree un controlador de recursos con el nombre de DummysController y agrega el siguiente código:

codigo php

Abre tu aplicación en el navegador y si todo salió correctamente podrás ver algo como esto:

yeahhhhh funciona

enjoy!!!

Tags

Artículos similares

Localingual: Voces de todo el mundo a tu alcance

Cada día aparecen cientos sino es que miles de nuevos sitios web en el mundo, pero son muy pocos las webs verdaderamente[...]

Gráficos estadísticos con Base de Datos SQLite

Si necesitamos mostrar gráficos estadísticos en nuestras aplicaciones android, contamos con muchas librerías disponibles[...]

Hola Mundo con Firebase

Firebase es la plataforma para el desarrollo de aplicaciones web y aplicaciones móviles de Google el cual se centra en e[...]

Animación de bicho feo en java2D

Java2d nos permite manipular imagenes y asi poder crear animaciones sencillas como muestra el siguiente video. Puedes de[...]

Client REST usando GSON y Volley

En este post crearemos un cliente android para consumir un recurso de un REST API utilizando las librerías GSON y Volley[...]

Controla excepciones con abort_if() y abort_unless()

Laravel tiene varias formas de tratar con las excepciones de nuetros proyectos, uno de ellos es el helper «abort()», est[...]