Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Coluna de imagem BLOB do SQL Server - extraindo com consulta BCP - arquivos corrompidos E bug


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.