Solved

Using Oracle and MTS

Posted on 2000-03-27
10
798 Views
Last Modified: 2010-05-18
I created an ActiveX component (dll) for inserting and updating data in an oracle server(7.3)through ODBC driver(compatible with MTS). I used ADODB. Command object for doin' so. I registered that component in MTS (residing on an IIS web server) and called that object from an ASP. I get the error message:
"failed to enlist on calling object's transaction" at the point I make a connection.open... statement in the active x component.
I searched MSDN for that, and it tells that I should run"TestOracleXaConfig" program to ensure that I can successfully connect to the oracle server without using MTS.
I ran that one on the MTS server, and saw that it fails to load XA73.dll. Ihope XA73.dll is required for oracle 7.3 for exchange of data using XA protocol, but I could not find one in the server( I should say that the server is the MTS, IIS and the Database server, all in one M/C). can any one tell me who provides(ships) this Dll, Oracle or MTS, and a possible solution to my problem?
0
Comment
Question by:Subhasundar
[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
  • 3
  • 3
  • 2
  • +1
10 Comments
 
LVL 28

Expert Comment

by:AzraSound
ID: 2661380
that dll ships with oracle and I have it if you need it.
0
 

Author Comment

by:Subhasundar
ID: 2663805
Thank you very much for the info. Infact, we have moved far from that.This XA73.dll is used if we use Microsoft ODBC for Oracle. We have recently installed Oracle 8i and using Oracle ODBC driver and we now have our Oracle MTS services up and running.But now the problem is that this MTS service can't talk with Microsoft DTC.
What is the probable cause of this error?
0
 

Author Comment

by:Subhasundar
ID: 2664529
Let me detail it.
We are trying to talk with oracle 8i databse through MTS component.We are using microsoft provided ODBC driver manager version(3.51) and ODBC driver for oracle (ver 8.0.1) provided with oracle 8i.
we are getting the error message:

Microsoft OLE DB Provider for ODBC Drivers error '8004d00a'

[Oracle][ODBC]Failed to enlist global transaction with DTC
"
Documentation about setting up MTS- ORACLE connection in MSDN details all about oracle 7.3 and 8.0, but not with 8i version.
We have followed the instructions provided by oracle 8i manuals which gives a detail of talking to MTS.
Still we are getting the above error.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 28

Expert Comment

by:AzraSound
ID: 2665104
so you were able to finally modify your code to work with MTS and you installed the component into MTS successfully into a package? You included all the objectcontext object code needed? What properties did you set for mtstransactionmode and version compatibility in your project properties of your dll?
0
 

Author Comment

by:Subhasundar
ID: 2668683
yaah, I have done all the things that you have asked . I had made a package  and registered my component from MTS management console. I can see all the methods and properties of the object from the manage ment console. moreover, it is also getting instantiated, activated.. the status view says so.
I had binary compatibility in my project and the MTSTransactionmode is "requires transaction".
0
 

Accepted Solution

by:
fgregoire earned 200 total points
ID: 2689379
I solved the same problem some weeks ago. But my server database is Oracle 8i and my client too.
Job to do on the server:
- Create the user MTSSYS with a script that are on the Oracle Server in RDBMS Directory.

Job to do on the client computer
- Install MSDTC (come with Option Pack 4 or NT 4)
- Install the client oracle 8i
- Install the patch for ODBC Oracle Driver for version 8.1.5.5 or 8.0.1.5.5 (Oracle web site)
- Install the patch MTS for Oracle (Oracle web site)
- With the Oracle Server Installation Disk: Install the service MTS for Oracle. With this you will create a service for your Oracle Alias and the user MTSSYS that you have created previously. (See Oracle 8i documentation for more information)
- Always use the new Oracle ODBC Driver
- Never use BeginTrans, CommitTrans or RollbackTrans in our DLL. Use SetComplete and SetAbort from ContextObject of MTS

For more information refer to Oracle 8i documentation not Oracle 7.3.4 or Microsoft.

If this don't work, uninstall your Oracle client 8i from your client and use Oracle Client 7.3.4, it work fine.
0
 

Expert Comment

by:RayLeong
ID: 2852321
Hi fgregoire,

I had some problem with oracle 8.1.5 and MTS. I had followed your instructions above, but i still can't get it to work. I had posted a question titled "Oracle and MTS" on 27 May and would appreciate if you can give me some advice.

Anyone who wishes to attempt the question are welcome.
0
 

Expert Comment

by:fgregoire
ID: 2858159
Hi RayLeong!

If you have problem with Oracle 8.1.5 and MTS, do you have a error message?

What doesn't work?


0
 

Expert Comment

by:RayLeong
ID: 2858202
No, it just aborted nicely without rolling back what i insert into the database or the message queue. Anyway i am the purposely place a incorrect select statement to simulate an error.
0
 

Expert Comment

by:RayLeong
ID: 2858303
No, it just aborted nicely without rolling back what i insert into the database or the message queue. Anyway i am the purposely place a incorrect select statement to simulate an error.
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
vb6 - Transfer from MSHFlexgrid1 to xls issue 8 66
VB6 ListBox Question 4 63
Publisher:   Unknown     VB.exe Application 1 32
backup program with robocopy 6 92
There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

751 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