Du använder parametern -f "C:\bcpdir\bcpfile.fmt"
men enligt min erfarenhet borde det vara -fC "C:\bcpdir\bcpfile.fmt"
. För att vara ärlig minns jag inte längre varför... Jag gjorde en gång något liknande för att exportera filer (.zip) från databasen och mitt kommando har -fC
parameter för exportfilen. Jag önskar att jag kunde ge dig en ordentlig förklaring. Hur som helst, HTH.
Prova följande kommando:
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Ett alternativ är att ange -C RAW
alternativ. Detta anger att ingen konvertering görs från en teckentabell till en annan.
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Se också till att din formatfil har SQLBINARY
som datatyp för din kolumn.