Du bruger parameteren -f "C:\bcpdir\bcpfile.fmt"
men fra min erfaring burde det være -fC "C:\bcpdir\bcpfile.fmt"
. For at være ærlig husker jeg ikke længere hvorfor... Jeg lavede engang noget lignende til at eksportere filer (.zip) fra databasen, og min kommando har -fC
parameter for eksportfilen. Jeg ville ønske, jeg kunne give dig en ordentlig forklaring. I hvert fald, HTH.
Prøv følgende kommando:
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Et alternativ er at angive -C RAW
mulighed. Dette angiver, at der ikke foretages konvertering fra en tegntabel til en anden.
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Sørg også for, at din formatfil har SQLBINARY
som datatype for din kolonne.