我正在尝试将结果集插入指向Excel文件的链接服务器。
这是我的剧本:
exec sp_addlinkedserver
@server = N'ExcelTEST',
@srvproduct = N'Excel 12.0',
@provider = N'Microsoft.ACE.OLEDB.12.0',
@datasrc = N'\\MyServer\MyPath\MyFile.xlsx',
@provstr = N'Excel 12.0;HDR=No,IMEX=1'
--
exec sp_addlinkedsrvlogin
@rmtsrvname = N'ExcelTEST',
@useself = N'False',
@locallogin = NULL,
@rmtuser = NULL,
@rmtpassword = NULL
GO
--
INSERT INTO ExcelTEST...[Sheet2$]
SELECT TOP 10 *
FROM dbo.myTable
GO
sp_dropserver N'ExcelTEST', 'droplogins'
GO
然后我收到以下错误:
链接服务器的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0” “ExcelTEST”返回消息“无法更新。数据库或对象是 只读的。“。
Msg 7399,Level 16,State 1,Line 6 OLE DB提供程序 用于链接服务器“ExcelTEST”的“Microsoft.ACE.OLEDB.12.0”报告了一个 错误。提供者表示用户没有 允许执行操作。
Msg 7343,Level 16,State 2,Line 6 OLE DB提供程序 链接服务器“ExcelTEST”的“Microsoft.ACE.OLEDB.12.0”不能 INSERT INTO表“[ExcelTEST] ... [Sheet2 $]”。
如何将读取的Excel文件连接起来?