Você está usando o parâmetro
-f "C:\bcpdir\bcpfile.fmt"
mas pela minha experiência deve ser -fC "C:\bcpdir\bcpfile.fmt"
. Para ser honesto, não me lembro mais porque... Certa vez fiz algo semelhante a exportar arquivos (.zip) do banco de dados e meu comando tem -fC
parâmetro para o arquivo de exportação. Eu gostaria de poder lhe dar uma explicação adequada. De qualquer forma, HTH. Tente o seguinte comando:
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Uma alternativa é especificar o
-C RAW
opção. Isso especifica que nenhuma conversão é feita de uma página de código para outra. EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Além disso, certifique-se de que seu arquivo de formato tenha
SQLBINARY
como tipo de dados para sua coluna.