XADLL With Oracle

Hi all,

On an XP sp2 system (using fat32), I try to run a COM+ server using XA transaction with oracle 10 client.

I have a "8000D048" error in the server application. and I can see in the event log a message telling me to add the XADLL key in the HKLM/software/microsoft/msdtc registry.

I already had the XADDL key with this value.

name : "oraclient10.dll"

value : "C:\oracle\product\10.2.0\client_1\BIN\oraclient10.dll"

does it sound correct ?

I saw here that there was a security issue with NT solved by giving apropriate right to the dll folder... but the disk use fat32, could that be a problem ?

regards.

[681 byte] By [sof4king] at [2008-2-5]
# 1

Hi,

Indeed on fat32 you shouldn't need to set the security access to the dll location.

Did this ever work? If you restart both the COM+ server as well as the MSDTC service, do you continue to see the problem?

You might also take a look at http://blogs.msdn.com/florinlazar/archive/2003/12/04/41370.aspx to find additional info.

Cheers

FlorinLazar-MSFT at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Transactions Programming...
# 2

thx for your answer,

that's what I thought for fat32... and even a reboot doesn't change anything.

so i tried on a real 2003 server with ntfs and a 9i oracle client : same problem... (and the oracle\bin directory have the network rights)

I have had a new idea.

as the eventlog said that the manager could not found the getXaSwitch, I scanned the dll file I used in the XADDL registry (with the soft "depends"), and the result is that I couldn't found the getXaSwitch entry... so, it looks like it is my mistake : I don't use the right oracle dll :(

My new obvious question is then now, do you now if the same error message occurs in this case (wrong dll ) ?

In the case of, do you know something about the oracle dll that should be used, or a way to identify it ?

Or do you have any idea if "getXasWitch" is the real name of the entry in the dll ? (I didn't found any dll on the system having the "getxaSwitch" string ?)

Best regards,

Bruno

sof4king at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Transactions Programming...
# 3

http://support.microsoft.com/kb/193893/en-us has some references on what dlls are to be used for Oracle 9i. Oracle support should also be able to provide you that information.

Cheers!

FlorinLazar-MSFT at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Transactions Programming...
# 4

I found ! (I guess)

For information.

in Fact on my 2003 server, i had the right XADLL in the registry (mtxoci.dll:"c:\windows\system32\mtxoci.dll"), I first thought it was used by sqlserver. it was not. It is the Microsoft XA driver for oracle !

so I have add this entry on my "windows XP-oracle 10g client-fat32" (and no right management), and now it works fine. :)

so now, i see 2 choices :

- or give network's right to the windows\system32 folder (sounds really bad)

- or copy the dll in an other folder with Networks Rights and change the path in the XADLL registry. (mean no more "microsoft update" for this dll... )

hope this could help someone else.

anyway, thanks again :)

Bruno

(and sorry for my poor English)

sof4king at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Transactions Programming...
# 5

NetworkService already has access to mtxoci.dll so you don't need to change permissions for it.

It's good to know that you solved your problem. Sorry I didn't think about mtxoci - I already had a blog entry for it at http://blogs.msdn.com/florinlazar/archive/2004/10/28/248931.aspx

Cheers!

FlorinLazar-MSFT at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Transactions Programming...

Software Development for Windows Vista

Site Classified