O erro "OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Cannot update. Database or object is read-only." " ocorre ao tentar inserir registros de uma tabela em um arquivo do Excel.
Solução: retire o parâmetro IMEX=1 ou deixe-o IMEX=0.
Desta forma irá funcionar:
--------------------------
INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=c:\teste.xls;HDR=YES;IMEX=0',
'Select Campo1, Campo2 From [Plan1$]')
Select Campo1
,Campo2
from Tabela
------------------------
Obs: IMEX=1 funciona apenas para SELECT.