I just upgraded to version 6.50.237 of the dotConnect Oracle component and can no longer connect at all to any Oracle database.
Stepping through the code (I have the commercial version of Reflector so I can debug your binary library) I can see that the problem is that you are throwing away my Oracle Home because you are incorrectly determining that it is not the correct 32/64 bit mix.
I am running a 32 bit application on a 64 bit system and this check here fails in OracleConnectionHome.SingletonInstance (This is reflected code so your's probably looks slightly different):
Code: Select all
bool? nullable = Utils.UnmanagedDllIs64Bit(strArray[i]);
if (nullable.HasValue && ((IntPtr.Size == 4) ^ nullable.Value))
{
homes.a(new OracleHome("", "", strArray[i], ""));
homes.a = homes.a((int) (homes.Count - 1));
return (b = homes);
}
Even weirder is that if I step into the UnmanagedDllIs64Bit call it looks like it returns false (Which what I would expect), however when the value ends up in the call above it is null.
Is there any way I can stop this new check or any other way I can work around it.