Vous n'êtes pas identifié(e).
Pages : 1
Bonjour!
Je tente en vain de faire des extractions de requêtes sur un réseau (via cmd psql). Je voudrais que mon batch marche même s’il est déplacé, donc le principe serait de faire comme pour les chemins relatifs en local (testé en local, ça marche nickel). A la place de .\ je voulais donc mettre %~dp0
Par exemple : psql -h localhost -p port -U user -d bbd < %~dp0RequeteSQL\fichier.sql
Mais le chemin n’est pas reconnu (à cause des espaces et accents dans les noms des dossiers je pense). Mais si je mets des « » autour du chemin la commande psql n’est plus reconnue.
Connaissez vous un moyen pour résoudre ce genre de problème?
Autre question :
(Si j’arrive à résoudre le pb 1)
Si la commande psql est reconnue, elle exécutera mon fichier.sql. Les fichiers sql exécutés pointent eux même vers un chemin (ou sera extrait la sortie). En local je peux mettre : .\nomFichieràExtraire.csv pour les extraire à la racine, comment faire lorsque je ne suis pas en local ? Je n’ai pas l’impression que %~dp0 marche dans ce genre de fichier.
Exemple : \copy(requête) TO ‘.\ nomFichieràExtraire.csv’ WITH (format csv,…)
Hors ligne
C'est la première fois que je vois un chemin %~dp0. Ça a une signification particulière ?
Guillaume.
Hors ligne
Bonjour,
J'ai trouvé ça sur des forums, ça permet de récupérer un chemin jusqu'à la racine de mon batch en réseau.
Par exemple:
set path=%~dp0
echo %path%
Ca me renvoie : '\\reseau\...\...\racineDeMonBatch'
Alors que si j'utilise echo %CD% il me renvoie le répertoire qu'il utilise par défaut, à savoir : C:\Windows
Hors ligne
OK, soit. Pourriez-vous mettre la commande exacte que vous lancez et l'erreur exacte que vous récupérez ?
Guillaume.
Hors ligne
Bonjour,
J'ai un peu avancer sur mon problème.
En fait la commande suivante marche bien:
psql -h localhost -p port -U user -d bbd < "%~dp0RequeteSQL\fichier.sql"
Le soucis vient du chemin indiquant l'extraction de mon csv situé dans mon fichier.sql
J'aurai voulu pointer la racine du fichier comme dans mon batch avec "%~dp0 mais cette cmd ne semble pas être reconnu par mon sql et je suis obligé de mettre le chemin en entier.
Voici ce que je fais dans mon sql pour le moment : \copy(requete) TO '"%~dp0fichier.csv' (format csv, ...)
Hors ligne
Pages : 1