2016-04-22 113 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中。