user3609461
user3609461

Reputation: 23

Laravel 5.2 oracle database PDOException

I am working on xamp, using laravel 5.2 and trying to connect oracle database here I want to get values in tinker:

DB::table('dept')->get();

with this error:

PDOException with message 'could not find driver'

my .env file

DB_CONNECTION=sqlsrv
DB_HOST=localhost
DB_PORT=1521
DB_DATABASE=Mydb
DB_USERNAME=db_username
DB_PASSWORD=password

my database.php

'default' => env('DB_CONNECTION', 'sqlsrv'),

...

    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'localhost'),
        'database' => env('DB_DATABASE', 'Mydb'),
        'username' => env('DB_USERNAME', 'db_username'),
        'password' => env('DB_PASSWORD', 'password'),
        'charset' => 'utf8',
        'prefix' => '',
    ],

Upvotes: 0

Views: 1088

Answers (1)

Felippe Duarte
Felippe Duarte

Reputation: 15131

Install Oracle client in your machine: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

Install/enable Oracle for PHP. That will depend on your operation system. In windows, I believe you only need to enable on your php.ini, extension=pdo_oci.dll. In linux, you need to install, with apt get or similar in your distro, or recompile PHP with instructions on this page: http://php.net/manual/en/ref.pdo-oci.php

Use this library in your Laravel project: https://github.com/yajra/laravel-oci8

In config/database.php:

'default' => env('DB_CONNECTION', 'my_connection'),

'connections' => [
    'my_connection' => [
        'driver'   => 'oracle',
        'host'     => env('DB_HOST', 'localhost'),
        'port'     => env('DB_PORT', '1521'),
        'service_name' => env('DB_SERVICE_NAME', ''),
        'database' => env('DB_DATABASE', ''),
        'username' => env('DB_USERNAME', ''),
        'password' => env('DB_PASSWORD', ''),
        'charset'  => 'utf8',
        'prefix'   => '',
        'options' => [
            PDO::ATTR_PERSISTENT => true
        ],
    ],

In your .env:

DB_CONNECTION=my_connection
DB_HOST=111.111.111.111
DB_SERVICE_NAME=service
DB_DATABASE=db
DB_USERNAME=user
DB_PASSWORD=pass

Upvotes: 1

Related Questions