Quantcast
Channel: SQL Server Data Access forum
Viewing all articles
Browse latest Browse all 4164

Update Excel spreadsheet using ACE driver (Microsoft.Ace.OLEDB.12.0) in 64bit environment.

$
0
0

Hi all,

Well, I finally thought I'd try to ditch the dogleg through 32bit SQL Express and try to update spreadsheets (XLS) using the Microsoft.Ace.OLEDB.12.0 driver. Well, what can I say? It selects from the spreadsheet fine but as soon as I try an update statement it falls over straight away with:

(For xls as linked server)

OLE DB provider "Microsoft.Ace.OLEDB.12.0" for linked server "test" returned message "Bookmark is invalid.".

Msg 7346, Level 16, State 2, Line 2

Cannot get the data of the row from the OLE DB provider "Microsoft.Ace.OLEDB.12.0" for linked server "test".

----------------

For xls using OPENROWSET

OLE DB provider "Microsoft.Ace.OLEDB.12.0" for linked server "(null)" returned message "Bookmark is invalid.".

Msg 7346, Level 16, State 2, Line 2

Cannot get the data of the row from the OLE DB provider "Microsoft.Ace.OLEDB.12.0" for linked server "(null)".

--------------------

Just for completeness I also tried using the MSDASQL driver but that failed miserably too.

SELECT * FROM OPENROWSET('MSDASQL'

,'DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;ReadOnly=1;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=excel 12.0;DriverId=1046;DefaultDir=D:\filepath\;DBQ=D:\filepath\filename.xls'

,'SELECT * FROM [NamedRange]'

)

gives

Msg 7390, Level 16, State 2, Line 2

The requested operation could not be performed because OLE DB provider "MSDASQL" for linked server "(null)" does not support the required transaction interface.

Linked server = null is interested as there is no problem if I use select.

Viewing all articles
Browse latest Browse all 4164

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>