我正在尝试将结果集插入指向 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
然后我收到以下错误:
链接服务器“ExcelTEST”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回消息“无法更新。数据库或对象是只读的。”。
消息 7399,级别 16,状态 1,第 6 行链接服务器“ExcelTEST”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”报告错误。提供者表示用户没有执行该操作的权限。
消息 7343,级别 16,状态 2,第 6 行链接服务器“ExcelTEST”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”无法插入表“[ExcelTEST]...[Sheet2$]”。
如何以读写方式连接到 Excel 文件?