?
Solved

SQL Server 2005 - Oracle 10g Distributed Transaction Error 7391

Posted on 2009-04-06
7
Medium Priority
?
592 Views
Last Modified: 2012-06-27
Hello
I'm trying to run a simple transaction from SQL Server 2005 to an Oracle 10g Linked Server:
BEGIN DISTRIBUTED TRANSACTION
SELECT COUNT(*) FROM FAC_DRP..DROITPROD.HOR_SESSION
COMMIT TRAN

And I get this error:

Msg 7391, Level 16, State 2, Line 5
The operation could not be performed because OLE DB provider "MSDAORA" for linked server "FAC_DRP" was unable to begin a distributed transaction.

The Select statement alone works fine. The MSDTC service is running on the cluster node where SQL Server is running. I've read many posts, but I did not find any solution. Any hint would be welcome, thanks.
Pierrot

0
Comment
Question by:siuf
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24078497
Check whether MSDTC is enabled or not in both the machines.
Further info on MSDTC configurations here:

http://support.microsoft.com/kb/839279

Exclude TCP port 135 on both the machines Firewall
Kindly disable Firewall Service on both the Machines and Try issuing the query again.
This should work
0
 

Author Comment

by:siuf
ID: 24079836
What do you mean when you say "Check whether MSDTC is enabled or not on both machines" ? The Oracle server is a Linux one (Red Hat 3), there is no MSDTC afaik.
0
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24083729
Yes you are correct. In Oracle on Linux Platform doesn't has MSDTC.
But make sure that in your Windows machine, MSDTC service is up and running.

Disable Firewall and test it once from SQL Server
0
Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

 

Author Comment

by:siuf
ID: 24084833
OK, I configured the MSDTC as described at http://support.microsoft.com/kb/839279, the firewall is disabled on the SQL Server machine. But the Oracle one is behind a firewall and I don't know what port to open, because the Select statement alone works fine. Just when I add BEGIN TRAN/COMMIT TRAN I get the error 7391.
0
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24084934
Just open up the ports 135 for MSDTC in both machines.
TCP port 1433 and UDP Port 1434 needs to be opened in both the machines.
0
 

Author Comment

by:siuf
ID: 24087880
The firewall is disabled on the SQL Server machine, and we opened all from this machine to the Oracle server, but no chance, still the same message.
0
 
LVL 57

Accepted Solution

by:
Raja Jegan R earned 750 total points
ID: 24122980
Ideally you may face errors in Linked Servers in two places:

1. MSDTC
2. Firewall

As per your statements, MSDTC is running and Firewall is disabled. Then you dont have any issues other than Security privileges used to connect the Destination Server. Other than that there should not be any problems in this process.
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I am showing a way to read/import the excel data in table using SQL server 2005... Suppose there is an Excel file "Book1" at location "C:\temp" with column "First Name" and "Last Name". Now to import this Excel data into the table, we will use…
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question