2016-11-28 51 views
2

我試圖用xp_cmdshell的這個BCP:SQL Server的BCP出口二進制到文件:額外的數據在文件的開頭

'BCP "SELECT TOP 1 Data FROM <FQDN> WHERE Name = ''<name>'' " queryout "C:\exportdir\export_data.dat" -T -n -S .\SQLEXPRESS' 

但我在的開始時得到一些額外的數據文件緩衝區。我測試了兩次,並開始與

兩個文件BB 67 B9 00 00 00 00

我想擺脫這一點,我想都與-n-w更換-N參數但沒有運氣。

回答

1

爲此,您需要使用格式文件運行導出,該文件指定data字段的前綴長度爲。您可以從XML格式文件或非XML格式文件中指定此項。

E.g.生成一個非XML格式的文件:要創建一個非XML格式的文件,您可以使用參數format nul -f <format_file>(除了其他必需的參數)運行BCP。這將創建您指定它的格式文件。使用您最喜歡的文本編輯器並將前綴長度更改爲0.默認情況下,這將由BCP生成爲非零值,並且無法使用帶有參數的BCP自動將其自動設置爲0。

在最終的導出命令中,您將引用格式文件(具有0前綴長度)以導出文件的原始格式。有關更多詳細信息,請參閱格式文件的文檔:Create a Format File (SQL Server),Non-XML Format Files (SQL Server)等。