将数据从SQL Server 2014导出到Excel

时间:2016-04-23 07:05:29

标签: sql-server excel excel-2007 sql-server-2014

我尝试将数据从SQL Server 2014导出到Excel。

我试过这个

insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0
Xml;HDR=YES;Database=D:\testing.xlsx;', 
'SELECT OI_NAME,OI_ADDRESSS FROM [Sheet1$]') select OI_NAME,
OI_ADDRESSS from OI_TEMP

但是我收到了这个错误

  

OLE DB提供程序" Microsoft.ACE.OLEDB.12.0"对于链接服务器"(null)"返回消息"未指定错误"。

     

Msg 7303,Level 16,State 1,Line 1
  无法初始化OLE DB提供程序的数据源对象" Microsoft.ACE.OLEDB.12.0"对于链接服务器"(null)"。

我在网上搜索,发现了这个:

  

SQL Server错误消息,如果用户没有SQL Server TEMP目录OLE DB提供程序" Microsoft.Jet.OLEDB.4.0"对于链接服务器"(null)"返回消息"未指定错误"。
  消息7303,级别16,状态1,行1   无法初始化OLE DB提供程序的数据源对象" Microsoft.Jet.OLEDB.4.0"对于链接服务器"(null)"。

但我分配权限仍然无效。

为什么?

2 个答案:

答案 0 :(得分:2)

要将数据从SQL导出到Excel,您需要执行以下两个步骤:

  • 步骤1:将Excel连接到您的SQL数据库‍(Microsoft SQL Server,MySQL,PostgreSQL ...)
  • 第2步:将SQL数据导入Excel

结果将是您要从SQL数据库查询数据到Excel的表的列表:

enter image description here

步骤1:将Excel连接到外部数据源:您的SQL数据库

  1. 安装ODBC
  2. 安装驱动程序
  3. 避免常见错误
  4. 创建DSN

步骤2:将您的SQL数据导入Excel

  1. 单击您想要数据透视表的位置
  2. 点击插入
  3. 点击数据透视表
  4. 点击“使用外部数据源”,然后选择“连接”
  5. 点击“系统DSN”标签
  6. 选择在ODBC管理器中创建的DSN
  7. 填写请求的用户名和密码
  8. 避免常见错误
  9. 访问“ Microsoft查询”对话框
  10. 单击箭头以查看数据库中的表列表
  11. 选择要从SQL数据库查询数据到Excel的表
  12. 选择完毕后,点击返回数据

要自动更新导出,还有两个附加步骤:

  1. 使用外部SQL数据源创建数据透视表
  2. 使用GETPIVOTDATA函数在Excel中自动执行SQL数据更新

我已经为整个过程创建了一个step-by-step tutorial,从将Excel连接到SQL,直到自动更新整个过程。您可能会发现detailed explanations and screenshots有用。

答案 1 :(得分:0)

我几年前尝试过,这样做是不可能的,我建议您使用此表单从SQL -server将数据导出到Excel。

字体:Microsoft Developer Network

创建一个excel文件,然后选择Data - >来自其他来源 - >来自SQL Server

选择输入您的服务器,用户和密码,然后选择数据库并选择您的表格。

观看此视频:

Video Tutorial - SQL server to Excel

然后,您可以在VBA上编写宏以自动更新excel文件

sub Auto_Open ()

ActiveWorkbook.RefreshAll

end sub

我希望对你有所帮助!