2016-04-22 116 views
1

我試圖將數據從SQL Server導出到Excel,但它不起作用。將Sql Server(64位)導出到Excel(32位)

我的代碼是

INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES; 
Database=D:\FATXL.xlsx;', 
'SELECT * FROM [Sheet1$]') 
SELECT * FROM tabel1 

錯誤

32位OLE DB提供 「Microsoft.ACE.OLEDB.12.0」 不能裝載 在進程上的64位SQL服務器。

我需要知道它是否有可能將數據從64位SQL Server導出到32位MS Excel以及如何執行它?

我們是否應該有相同的SQL服務器和excel的位,以使其工作?

回答

1

以下是一些永不失敗的替代解決方案。

替代解決方案1 ​​

警告:你需要在SSMS手動運行該查詢。

使用導出將結果保存在CSV文件中,該文件可以在Excel中打開並保存爲XLS。

enter image description here

enter image description here

替代解決方案2

警告:你需要在SSMS手動運行該查詢。

您可以更改查詢結果顯示選項,從電網到文件,它可以是一個CSV文件,並檢查SET NO COUNT選項像下面 enter image description here enter image description here enter image description here

替代解決方案3

警告:再次需要SSMS

轉到到數據庫名稱並右鍵單擊以從菜單中選擇Tasks> Export,該菜單應打開SQL導入和導出嚮導。您可以將其保存爲包並將其部署在SSIS目錄下,並按計劃運行。

替代解決方案4

寫一個SSIS包,以從SQL服務器的數據,並把到Excel中。