How to recover from, 64 bit 32 bit ODBC driver could not be loaded due to system error code 998
Problem
ODBC driver could not be loaded due to system error code 998
Cause
The problem arose because application, Oracle client and Windows does not match properly as 32bit or 64 bit.
I have Windows 2003 64 bit, Oracle 10.2 32 bit Client and 64 bit application.
After googleing around,
I found that there is two versions of odbc datasource administrator:
The default one, is 64 bit which we use Start menu for opening it.
In order to open the 32 bit version I used: %windir%\SysWOW64\odbcad32.exe.
With the help of 32 bit version datasource administrator, I could see my 32 bit odbc driver listed.
I extracted this rule of thumb: If your application is 32 bit, then your data source must use Oracle 32 bit client as well.
Last words, beware of 3 pieces:
1- your application (which uses DSN definition),
2- Oracle client
3-data source administrator
All pieces must have same version, in my case it is 64 bit and therefore I installed 64 bit client.
Further reading:
http://support.microsoft.com/kb/942976