Stai usando il parametro -f "C:\bcpdir\bcpfile.fmt"
ma dalla mia esperienza dovrebbe essere -fC "C:\bcpdir\bcpfile.fmt"
. Ad essere sincero non ricordo più perché... una volta ho fatto qualcosa di simile per esportare file (.zip) dal database e il mio comando ha -fC
parametro per il file di esportazione. Vorrei poterti dare una spiegazione adeguata. Comunque, HTH.
Prova il seguente comando:
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Un'alternativa è specificare il -C RAW
opzione. Ciò specifica che non viene eseguita alcuna conversione da una tabella codici a un'altra.
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Inoltre, assicurati che il tuo file di formato abbia SQLBINARY
come tipo di dati per la tua colonna.