After several weeks of discussion with Microsoft, it appear that this is because Warehouse doesn't support Multiple Active Result Sets (MARS). Setting MultipleActiveResultSets=0 in option resolve the problem.
so, the final method for me was :
$connectionParams = [
'dbname' => 'my_DBname',
'user' => [email protected]',
'password' => 'mypassword',
'host' => 'xxxxxxxxxxxxxx.datawarehouse.fabric.microsoft.com',
'driver' => 'pdo_sqlsrv',
'port' => 1433,
'driverOptions' => [
'Authentication' => 'ActiveDirectoryPassword',
'MultipleActiveResultSets' => 0,
'Encrypt' => 1,
'TrustServerCertificate' => true
]
];
$this->conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams);