Używasz parametru -f "C:\bcpdir\bcpfile.fmt"
ale z mojego doświadczenia powinno to być -fC "C:\bcpdir\bcpfile.fmt"
. Szczerze mówiąc nie pamiętam już dlaczego... kiedyś zrobiłem coś podobnego do eksportu plików (.zip) z bazy danych i moje polecenie ma -fC
parametr pliku eksportu. Chciałbym dać ci właściwe wyjaśnienie. W każdym razie HTH.
Wypróbuj następujące polecenie:
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Alternatywą jest określenie -C RAW
opcja. Oznacza to, że żadna konwersja nie jest wykonywana z jednej strony kodowej na drugą.
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Upewnij się również, że plik formatu ma SQLBINARY
jako typ danych dla Twojej kolumny.