View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
default_user default_user is offline
external usenet poster
 
Posts: 1
Default Problems with ACE OLEDB provider

Greetings!

I am having difficulty updating an Excel worksheet via the ACE.OLEDB.12.0
provider.

I have this worksheet defined as a linked server in SQL Server via this
provider, and all attempts to update the lone worksheet in this file as a
linked server results in the following:

OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "linked_excel"
returned message "Bookmark is invalid.".
Msg 7346, Level 16, State 2, Line 1
Cannot get the data of the row from the OLE DB provider
"Microsoft.ACE.OLEDB.12.0" for linked server "linked_excel".

The query:
update linked_excel...sheet1$ set error_col='hithere' where [code])='G'

However, when I try to perform precisely the same update against the same
source via openrowset, it works, to-wit:

update openrowset('Microsoft.ACE.OLEDB.12.0','Excel
12.0;HDR=yes;Database=f:\path_to_file\filename.xls x','select * from
[sheet1$]')
set error_col='hithere'
where [code]='G'

SELECT's performed against either version work properly.

The linked server behavior is consistent across SQL 2005 and 2008
installations. The OLEDB errors in the trace indicate a NotImplemented error
duing call to QueryInterface, but I have not been able to dig deeper than
that bit of information.

I would greatly appreciate any tips or help.

Many thanks,
-David