1

我正在尝试将结果集插入指向 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 文件?

4

0 回答 0