title: Perl script raising oci.dll error, DBD
body: <p>I have perl script which connects to an Oracle database, opens a text file and loads the data from the file in a database table, the script works perfectly on my development machine (windows xp 32 bit), however when i load the script to the production server (windows 2003 64 bit) and run it from a command line,  it opens a perl.exe - unable to locate component windows, the message says </p>
  
  <blockquote>
    <p>This application has failed to start because OCI.dll was not found. Re-installing the application may fix this problem.</p>
  </blockquote>
  
  <p>The command line output is:</p>
  
  <blockquote>
    <p>install_driver(Oracle) failed: Can't load
    'C:/Perl64/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle:
    load_file:%1 is not a valid Win32 application at
    C:/Perl64/lib/DynaLoader.pm line 191.  at (eval 14) line3 Compilation
    failde in require at (eval 14) line 3. Perhaps a required shared
    library or dll isn;t installde where expected  at
    c:\warranty\warrantyImport.pl line 15</p>
  </blockquote>
  
  <p>I have reinstalled the oracle client, i have tried uninstalling both active perl and the oracle client and then installing the oracle client before perl as heard this might cause the issue. </p>
  
  <p>I thought it could be permissions so i wrote a simple perl script to open to oci.dll and raised an error if unable, it was able to open it correctly.</p>
  
  <p>I have ensured C:\oracle\product\10.2.0\client_1\bin is in the PATH enviroment variable.</p>
  
  <p>I can connect to the database using SQLPlus </p>
  
  <p>I have added the OCI.dll to the same directory as the perl script.</p>
  
  <p>and i've now finally run out of ideas....can anyone suggest anything, i'm tearing my hair out trying to get it working.</p>
  
  <p>Details
  Server is running ActivePerl 5.14.1 Build 1401 (64-bit)
  Oracle database is 10g
  Oracle client is 10.2.0</p>