diff --git a/src/Database/Connectors/SqlServerConnector.php b/src/Database/Connectors/SqlServerConnector.php index 0b10bf58..f8f32e47 100644 --- a/src/Database/Connectors/SqlServerConnector.php +++ b/src/Database/Connectors/SqlServerConnector.php @@ -37,22 +37,32 @@ protected function getDsn(array $config): string $port = array_key_exists('port', $config) ? $config['port'] : null; $database = array_key_exists('database', $config) ? $config['database'] : null; $socket = array_key_exists('unix_socket', $config) ? $config['unix_socket'] : null; + $encrypt = array_key_exists('encrypt', $config) ? $config['encrypt'] : null; + $trustservercert = array_key_exists('trustservercert', $config) ? $config['trustservercert'] : null; $dsn = []; if (null !== $host && null === $socket) { - $dsn['host'] = $host; + $dsn['Server'] = $host; } if (null !== $port && null === $socket) { - $dsn['port'] = $port; + $dsn['Server'] .= ',' . $port; } if (null !== $database) { - $dsn['dbname'] = $database; + $dsn['Database'] = $database; } - return 'dblib:' . http_build_query($dsn, '', ';'); + if (null !== $encrypt) { + $dsn['Encrypt'] = $encrypt; + } + + if (null !== $trustservercert) { + $dsn['TrustServerCertificate'] = $trustservercert; + } + + return 'sqlsrv:' . http_build_query($dsn, '', ';'); } /**