I have a Windows Server 2008 x64 Bits with Reporting Services x64 Bits.
I have a report with oracle connection. First I installed 10203_vista_w2k8_x86_production_client.zip (http://download.oracle.com/otn/nt/oracle10g/10203/10203_vista_w2k8_x86_production_client.zip), but in Reporting Services I got the next error: "Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed"
Then I installed 10204_vista_w2k8_x64_production_client.zip (http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10203vista.html), but I have same problem.
How check if Oracle Client is running in x64 or x86 bits?
There isnt a 32 bit or 64 bit "mode", you either have 32 bit client or 64 bit client software.
The first thing to do is check the process in task manager to confirm whether it's 32 bit or 64 bit (32 bit has a *32 next to the process name).
As far as inspecting a client install to try to tell if it's 32 bit or 64 bit, I don't know of a surefire way other than knowing what you installed. You can check the registry, a 32 bit home will be located in HKLM>Software>WOW6432Node>Oracle, wheras a 64 bit home will be in HKLM>Software>Oracle, and then you can check the path to the home to try to infer whether it's 32 bit or 64 bit based on the location of dll's.
If you have both 32 bit and 64 bit clients installed, I dont have a good top of my head likely cause for why you'd get that error. The OS does a pretty good job of loading 32 bit dlls for 32 bit process and 64 for 64.
Are both homes in your PATH environment variable? Did you restart the app or reboot after adding a new home?
You may want to use tools like Process Explorer or Process Monitor to look at what dlls are being loaded (or attempted to be loaded).