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 ファイルへの接続を読み書き可能にする方法を教えてください。