D
default_user
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
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.xlsx','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