Vous utilisez le paramètre -f "C:\bcpdir\bcpfile.fmt"
mais d'après mon expérience, cela devrait être -fC "C:\bcpdir\bcpfile.fmt"
. Pour être honnête, je ne me souviens plus pourquoi ... J'ai déjà fait quelque chose de similaire pour exporter des fichiers (.zip) à partir de la base de données et ma commande a -fC
paramètre pour le fichier d'exportation. J'aimerais pouvoir vous donner une bonne explication. Quoi qu'il en soit, HTH.
Essayez la commande suivante :
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Une alternative est de spécifier le -C RAW
option. Ceci précise qu'aucune conversion n'est effectuée d'une page de code à une autre.
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Assurez-vous également que votre fichier de format contient SQLBINARY
comme type de données pour votre colonne.