Sie verwenden den Parameter -f "C:\bcpdir\bcpfile.fmt"
aber meiner Erfahrung nach sollte das -fC "C:\bcpdir\bcpfile.fmt"
sein . Um ehrlich zu sein, weiß ich nicht mehr warum ... Ich habe einmal etwas Ähnliches gemacht, um Dateien (.zip) aus der Datenbank zu exportieren, und mein Befehl hat -fC
Parameter für die Exportdatei. Ich wünschte, ich könnte Ihnen eine angemessene Erklärung geben. Wie auch immer, HTH.
Versuchen Sie den folgenden Befehl:
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -fC "C:\bcpdir\bcpfile.fmt"'
Eine Alternative ist die Angabe von -C RAW
Möglichkeit. Dies gibt an, dass keine Konvertierung von einer Codepage in eine andere erfolgt.
EXEC master..xp_cmdshell 'BCP "SELECT data FROM CentricityPM.dbo.TempImageFour" QUERYOUT "C:\exportdir\testfile.pdf" -T -f "C:\bcpdir\bcpfile.fmt" -C RAW'
Stellen Sie außerdem sicher, dass Ihre Formatdatei SQLBINARY
enthält als Datentyp für Ihre Spalte.