Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server BLOB-Bildspalte – Extrahieren mit BCP-Abfrage – beschädigte Dateien UND Fehler

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.