working on Windows Server 2008R2 64-bit, installing ruby 1.8.7, ruby-oci8 ran into the following error, after requiring 'oci8' : LoadError 193: %1 is not a valid Win32 application
On this machine a 64bit version of Oracle was installed. So the OCI.dll was a 64-bit version. The fix seemed easy: copy a 32-bit version of the OCI.dll. But I had to copy (from another 32-bit machine)
to my ruby\bin folder, and then everything worked. Copying just the OCI.dll and MSVCR71.dll gave the puzzling error OCIError: OCI library initialization error
.
Comments
Excellent tip. How did you figure that out. I may have copied ver OCI8.dll, but after that i would have given up. Note that inclusion of MSVCR71.dll seemed to conflict with msvcrt-ruby191.dll , on which case I deleted the former. Seems okay for now.
I found that simply rearranging my require statements solved the problem on my x64 Windows with Ruby 1.9.3. So putting oci8 last like this worked for me: require 'logger' require 'net/smtp' require 'oci8' # require oci8 last However, it's good to know that the error appears becuase both x86 and x64 versions of the Oracle client are installed. Your solution seems cleaner than my fudge.
very very cool!!!! Problem solved
Add comment