Sunday, March 11, 2012

Does Linked Server for MS Access support transaction?

Dear all,

We have connected a Access to a MS SQL Server 2005 as a Linked Server with the followoing settings:

1) Provider: Microsoft Jet 4.0 OLE DB Provider

2) Product Name: Access

3) Data source: X:\XXXXX.mdb

4) Provider string: ;pwd=YYYYYY;

5) Collation Compatible: False

6) Data Access: True

7) Rpc: False

8) Rpc Out: False

9) Use Remote Collation: True

10) Collation Name:

11) Connection Timeout: 0

12) Query Timeout: 0

We found that when cannot have any insert/update/delete statement for this linked server if transaction is began. Otherwise, we will have the following exception.

============

Msg 7390, Level 16, State 2, Line 1
The requested operation could not be performed because OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "ZZZZZZ" does not support the required transaction interface.

===========

We wonder whether the problem is because Access does not support distributed transaction. If so, do you know any workaround will work for us?


Thanks and regards,
William

Hi William,

I have come across your post related to Transaction Interface. Now i had a similar problem while connectiong the the Paradox database using linked server. Can you please suggest me on this Please. Thanks in advance.

Rakesh

|||

You can use pass-through openquery().

e.g.

update openquery(your_access_linkedserver,'select * from tb')

set col1 = 123

...

|||

Access does not provide any transactional support. No Rollbacks or Commits. Period.

Other than eliminating Access, or resort to not making transaction calls in ANY transaction involving Access, I can think of no workaround.

No comments:

Post a Comment