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

Depuración avanzada en PHP

Xdebug es una extensión para PHP que nos ayuda con la depuración y el desarrollo de aplicaciones. Contiene un depurador[...]

Solución: SQL Server setup media does not support the language of the OS or does not have ENU localized files…

El error: Instalaba SQL Server 2008 R2 en español en Windows con el idioma «Español (Bolivia)»y de repente me salio este[...]

Formulario de login personalizado

Hola, en este oportunidad dejo a disposición un formulario de logueo que se me ocurrió de repente creo inspirado en las[...]

Conversor decimal a binario

Desde que Google anuncio de que dejara de dar soporte al plugin de Eclipse y se concentrara en Android Studio, quienes t[...]

Melody ML: Separa fácilmente pistas de audio usando IA

Melody.ml  es un aplicación online que usa la I.A (Inteligencia Artificial) para procesar archivos MP3 y separar en pist[...]

Ciudadanía digital y seguridad en Internet

«Be Internet Awesome» (Se genial en Internet) es un recurso de Google para la enseñanza  de conceptos fundamentales sobr[...]