on 2011 Nov 09 7:51 AM
Hello!
I have SQL Anywhere 11 database linked to MS SQL Server 2008 as a ‘linked server’. When I don’t use distributed transactions (via MSDTC) all is working fine (updates to remote SQL Anywhere committed without any problems). When I start using distributed transactions (and make only SELECTs inside distributed transaction) all is working fine again (I control transactions using @@trancount statement in MS SQL Server code). Such experiments bring two major results: SQL Anywhere as Linked Severs and MSDTC working correctly in these simple configurations.
But when I start using UPDATEs inside distributed transaction all completed with The OLE DB provider "SAOLEDB.11" for linked server "link" reported an error committing the current transaction error on line with UPDATE statement.
Note: when I link two MS SQL Servers any UPDATES in one distributed transactions working fine.
What should I do to make code below working correctly?
set implicit_transactions on; -- necessary for autocommit shootdown set xact_abort on; begin try begin distributed tran; select @@trancount TranCount; --select * from link..amos.address where addressid = 1000001; update link..amos.address set ad.addressstatus = 1 from link..amos.address ad where ad.addressid = 1000001; select @@trancount TRANCOUNT; commit tran; select @@trancount TRANCOUNT; end try begin catch rollback tran; select error_number() AS ErrorNumber, error_message() AS ErrorMessage, error_line () AS ErrorLine; end catch;
Query Output:
TranCount: 2 ErrorNumber: 7394 ErrorMessage: The OLE DB provider "SAOLEDB.11" for linked server "link" reported an error committing the current transaction. ErrorLine: 10
P.S. Sorry for my English.
You may look at the following FAQ.
The fixes mentioned there were introduced in newer EBFs than you are using, so it might be worthwhile to test with a newer EBF. Note, I can't claim that these issues are related to the behaviour you are seeing.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Precisely which release and build of SQL Anywhere 11 are you using? Does your SAOLEDB.11 library have the same build number?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Server
Server Version: 11.0.1.2331 (it's a Developer Edition)
BuildChange: 625781 (value taken from Database server properties list in Sybase Central)
Provider
SQL Anywhere OLE DB Provider 11 (dboledb11.dll)
Version: 11.0.1.2331
Last Modified: 10/14/2009.
SQL Anywhere OLE DB Provider Catalog Assist (dboledba11.dll)
Version: 11.0.1.2331
Last Modified: 10/14/2009.
Engine version and provider version look like same. Also I check (in Windows Registry) keys for SAOLEDB.11 provider - its point on correct files.
User | Count |
---|---|
67 | |
8 | |
8 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.