Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I want to connect to an external DB

I want to connect to SQLserver that I want to use for reference separately from MYSQL which is the main DB
To do that, set

.env

#mysql
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=hogedb
DB_USERNAME=hoge
DB_PASSWORD=password

#SQLserver
DB_CONNECTION=sqlsrv
DB_HOST=localhost
DB_DATABASE=databasename
DB_USERNAME=username
DB_PASSWORD=password

user

protected $connection = 'sqlsrv';

I geted error

could not find driver (SQL: select * from [user] where [user].[deleted_at] is null)

like image 682
su3158 Avatar asked Oct 19 '25 00:10

su3158


1 Answers

.env:

#mysql
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=hogedb
DB_USERNAME=hoge
DB_PASSWORD=password

#SQLserver
DB_SQL_HOST=localhost
DB_SQL_DATABASE=databasename
DB_SQL_USERNAME=username
DB_SQL_PASSWORD=password

And config/database.php:

 'connections' => [
    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],
    'sqlsrv' => [
        'driver'   => 'sqlsrv',
        'host'     => env('DB_SQL_HOST', 'localhost'),
        'database' => env('DB_SQL_DATABASE', ''),
        'username' => env('DB_SQL_USERNAME', ''),
        'password' => env('DB_SQL_PASSWORD', ''),
        'prefix'   => '',
    ],
],

Then use in user - protected $connection = "sqlsrv";
Finally run php artisan config:cache.

like image 95
Rashed Hasan Avatar answered Oct 20 '25 17:10

Rashed Hasan