I am trying to acces a MS SQL server from Laravel by using the following statement:
$codigosgasto = DB::connection('sqlsrv')->select('select Id_CodigoGasto, Descripcion from dbo_CodigoGasto');
when I run this command I get a connection timeout.
SQLSTATE[HYT00]: [Microsoft][ODBC Driver 18 for SQL Server]Login timeout expired (Connection: sqlsrv, SQL: select Id_CodigoGasto, Descripcion from dbo_CodigoGasto)
The connection configuration is setup as follows in the .env file:
SECOND_DB_CONNECTION=sqlsrv
SECOND_DB_HOST=192.168.0.168
SECOND_DB_PORT=1433
SECOND_DB_DATABASE=VFIN1
SECOND_DB_USERNAME=xxxxx
SECOND_DB_PASSWORD=xxxxxx
and in the database.php connections array:
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('SECOND_DB_HOST', '192.168.0.168'),
'port' => env('SECOND_DB_PORT', '1433'),
'database' => env('SECOND_DB_DATABASE', 'VFIN1'),
'username' => env('SECOND_DB_USERNAME', 'xxxxxx'),
'password' => env('SECOND_DB_PASSWORD', 'xxxxxx'),
'charset' => env('SECOND_DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'true'),
],
I have tried an alternate connection to the database that works correctly by executing:
$connectionInfo = array("Database" => "VFIN1","UID"=>"xxxxxx", "PWD"=>"xxxxxx","TrustServerCertificate"=>true);
$conn = sqlsrv_connect($serverName, $connectionInfo);
What am I missing in order to make the laravel DB::connection work?