Bonjour,
Je dois migrer une appli qui "fabrique" à partir d'une bdd d'un serveur/SQLldr SQLPlus/Oracle vers Azure/Java/PostgreSQL.
Pour des raison de performance, j'utilise le copymanager (qui wrappe la commande COPY) vers le STDOUT.
Deux impératifs : les fichiers doivent être en Windows1252 et les sauts de ligne doivent être en CRLF (/r/n).
La commande COPY TO vers le STDOUT utilise obligatoirement le simple LF. Pour contourner le problème, j'essaie de mettre un caractère CR à la fin du SELECT. Bah...je n'y arrive pas. J'ai testé le E'/r', le '/r', le chr(13), j'ai toujours la chaine "/r" dans la sortie du COPY TO.
Bien sur faire un replace en java sur 3,8 millions de lignes, c'est faisable...mais non. De même, on ne peut pas déployer Unix2Dos sur le serveur JAVA.
Si vous savez comment mettre un CR en fin de ligne ou que vous avez d'autres idées, je suis preneur.
Cordialement,
Hervé.
Partager