Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Colonne d'image BLOB SQL Server - extraction avec requête BCP - fichiers corrompus ET bogue

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.