From 740ab644d3daff398d300d40a9030aad0cbecadf Mon Sep 17 00:00:00 2001 From: Bertrand Gauthier <bertrand.gauthier@unicaen.fr> Date: Thu, 6 Dec 2018 09:49:10 +0100 Subject: [PATCH] =?UTF-8?q?Service=20de=20g=C3=A9n=C3=A9ration=20d'insert?= =?UTF-8?q?=20de=20donn=C3=A9es:=20exception=20si=20impossible=20d'ouvrir?= =?UTF-8?q?=20le=20fichier=20de=20sortie.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/UnicaenOracle/Service/DataService.php | 3 +++ src/UnicaenOracle/Service/SchemaService.php | 1 + 2 files changed, 4 insertions(+) diff --git a/src/UnicaenOracle/Service/DataService.php b/src/UnicaenOracle/Service/DataService.php index 8a17d44..4fc4fdc 100644 --- a/src/UnicaenOracle/Service/DataService.php +++ b/src/UnicaenOracle/Service/DataService.php @@ -32,6 +32,9 @@ class DataService foreach ($preparedTablesMetadata as $tableName => $columnsConfig) { $outputFilePath = sprintf($outputFilePathTemplate, $tableName); $fh = fopen($outputFilePath, 'w'); + if ($fh === false) { + throw new RuntimeException("Impossible d'ouvrir en écriture le fichier '$outputFilePath'."); + } fwrite($fh, "set define off ;" . PHP_EOL . PHP_EOL); $sqlSelect = "SELECT * FROM $tableName"; try { diff --git a/src/UnicaenOracle/Service/SchemaService.php b/src/UnicaenOracle/Service/SchemaService.php index eb2d3db..f41bfcb 100644 --- a/src/UnicaenOracle/Service/SchemaService.php +++ b/src/UnicaenOracle/Service/SchemaService.php @@ -59,6 +59,7 @@ class SchemaService throw new RuntimeException("Erreur!", null, $e); } $result = $stmt->fetchAll(\PDO::FETCH_COLUMN); + // NB: si le résultat est vide, c'est sans doute un problème de droit du USER Oracle utilisé pour exécuter les commandes $sql = implode('', $result); $sql = str_replace("\"$srcSchemaName\"", "\"$dstSchemaName\"", $sql); file_put_contents($outputFilePath, $sql); -- GitLab