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