2014-09-18 58 views
0

我正在使用SQL Server 2008R2,並試圖從命令行調用bcp從視圖中導出數據。bcp導出到Excel生成無法讀取的數據

的命令我使用的是

bcp "SELECT * FROM dbo.products_view_feed" queryout C:\excelExport.xls -w -U ** -P **

,我的問題是,當我嘗試打開Excel文件,我得到一個錯誤,說:

The file you are trying to open, 'excelExport.xls', is in a different format than specified by the extension. Verify that the file is not corrupted and is from a trusted source.

在此窗口中按下Yes後,Excel文件被打開並且數據可讀,但只有一部分可讀。其餘部分是不可讀的(特殊字符和字母數字字符)。

而且數據不一定從某一點不可讀,但其中的一部分(多列,如果只有幾個或更多,則無法準確識別)。

我不知道該如何嘗試和更改數據文件不被創建損壞,因此該文件將被正確創建。

任何幫助,非常感謝。

+0

不知道它是否有幫助[SQL Server使用bcp/sqlcmd實用程序和CSV文件導出到Excel ](http://www.excel-sql-server.com/sql-server-export-to-excel- using-bcp-sqlcmd-csv.htm) – bummi 2014-09-18 21:46:22

+0

@bummi我正在爲客戶端做這件事,不幸的是需求是一個'Excel'文件。我在我的在線搜索中遇到了您分享的鏈接,但不幸的是我無法使用它。 – 2014-09-18 21:48:26

+0

@bummi雖然,只要將文件的擴展名從'.xls'改爲'.csv',打開文件時不會產生上述錯誤。 – 2014-09-18 21:52:27

回答

0

將數據導出爲CSV文件,然後將其導入Excel並將其另存爲XLS。您還可以使用導入/導出嚮導創建一個簡單的SSIS包,將查詢結果保存到電子表格中。

+0

不幸的是我沒有在機器上安裝SSIS。有沒有辦法只用SQL Server就可以做到這一點?我已經看到,使用SSIS是可能的。 – 2014-09-19 04:22:44