G
Guest
Hi
We're currently upgrading to Oracle 10g client and we've hit an issue with
..NET 1.0 and 1.1 applications that use OracleClient to connect to Oracle.
Basically any .NET 1.0 or 1.1 application that tried to open a connection to
Oracle would get a "System.Data.OracleClient requires Oracle client software
version 8.1.7 or greater." exception. However ASP.NET 1.1 applications are
able to connect OK.
I managed to trace the problem as far as MtxOci8.dll which is installed in
windows\system32 and also in the .NET 1.1 folder. This explains why ASP.NET
1.1 applications work as MtxOci8.dll is in the same location as aspnet_wp.exe
which means this version is used instead of the one in system32. Whereas all
other applications will use the version is system32.
I've updated the version in system32 with the one installed in the .NET 1.1
folder and everything works, even a COM+ application that had failed when 10g
client was installed!
I've seen various posts indicating that this is a permission issue, but it
even occurs on my development box where for my sins I'm a local admin, so I
don't think it's a permission issue. This issue occurrs on my development
pc, Windows XP SP2, Oracle 10g Client as well as on the Windows 2000 server.
Using WinDbg I've managed to see the call into MtxOci8.dll to obtain the
Oracle version (MTxOciGetOracleVersion) and it's clear that the two versions
do different things! But debugging at this level is beyond me at present!
I also notice that .NET 2 does things differently and does not use
MtxOci8.dll, but it's virtually impossible to get applications upgraded, as
you can see we still have .NET 1.0 code!
I guess my questions are:
Have you seen anything like this before?
Are there any issues in using the version of MtxOci8.dll installed with .NET
1.1, it certainly seems to work?!
Is there another way to fix this issue?
Why is the version number on MtxOci8.dll the same for the .NET 1.0 and .NET
1.1 versions even though they are clearly different? Could this explain why
the version in system32 is not updated?
Why is MtxOci8.dll installed in system32 with .NET 1.0 (OracleClient Install
- I assume) but into .NET 1.1 folder with .NET 1.1?
Thanks
Doug
We're currently upgrading to Oracle 10g client and we've hit an issue with
..NET 1.0 and 1.1 applications that use OracleClient to connect to Oracle.
Basically any .NET 1.0 or 1.1 application that tried to open a connection to
Oracle would get a "System.Data.OracleClient requires Oracle client software
version 8.1.7 or greater." exception. However ASP.NET 1.1 applications are
able to connect OK.
I managed to trace the problem as far as MtxOci8.dll which is installed in
windows\system32 and also in the .NET 1.1 folder. This explains why ASP.NET
1.1 applications work as MtxOci8.dll is in the same location as aspnet_wp.exe
which means this version is used instead of the one in system32. Whereas all
other applications will use the version is system32.
I've updated the version in system32 with the one installed in the .NET 1.1
folder and everything works, even a COM+ application that had failed when 10g
client was installed!
I've seen various posts indicating that this is a permission issue, but it
even occurs on my development box where for my sins I'm a local admin, so I
don't think it's a permission issue. This issue occurrs on my development
pc, Windows XP SP2, Oracle 10g Client as well as on the Windows 2000 server.
Using WinDbg I've managed to see the call into MtxOci8.dll to obtain the
Oracle version (MTxOciGetOracleVersion) and it's clear that the two versions
do different things! But debugging at this level is beyond me at present!
I also notice that .NET 2 does things differently and does not use
MtxOci8.dll, but it's virtually impossible to get applications upgraded, as
you can see we still have .NET 1.0 code!
I guess my questions are:
Have you seen anything like this before?
Are there any issues in using the version of MtxOci8.dll installed with .NET
1.1, it certainly seems to work?!
Is there another way to fix this issue?
Why is the version number on MtxOci8.dll the same for the .NET 1.0 and .NET
1.1 versions even though they are clearly different? Could this explain why
the version in system32 is not updated?
Why is MtxOci8.dll installed in system32 with .NET 1.0 (OracleClient Install
- I assume) but into .NET 1.1 folder with .NET 1.1?
Thanks
Doug