OPENROWSET和OPENDATASOURCE

时间:2017-06-22 07:55:13

标签: sql sql-server tsql

我花了最近几个小时尝试使用OpenRowSet或OpenDataSource将Excel文件的内容导入到SQL中,但是我得到了同样的错误。

我目前正在使用SQL Server 2014 X64,Excel 2016 64位,Windows Server 2008R2 64位

我正在使用的代码是

  SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
  'Data Source=S:\Refunds\file.xlsx;Extended Properties=Excel 12.0')...[test]

  SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
  'Excel 12.0;Database=S:\Refunds\file.xlsx', [test])

我得到的错误信息是: -

Msg 7314,Level 16,State 1,Line 39 链接服务器“(null)”的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”不包含表“test”。该表不存在或当前用户没有该表的权限。

这里的假设是我从S:\驱动器打开files.xlsx文件并查看名为test的选项卡

我已经尝试将文件的路径更改为完整的UNC路径并尝试将文件移动到C驱动器但仍然收到相同的消息,是否有人能指出我正确的方向?

由于

1 个答案:

答案 0 :(得分:0)

我认为应该是:

  SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
   'Excel 12.0;Database=S:\Refunds\file.xlsx', [test$])