sinan has asked for the wisdom of the Perl Monks concerning the following question:

I have installed Win32::ODBC, but when I run the test program, it says that the specified module could not be found at DynaLoader.pm line 200.

I have checked all the filenames. Anybody have an idea what the problem might be?

I am usign ActivePerl.

TIA,
Sinan

Replies are listed 'Best First'.
Re: Can't use Win32::ODBC
by chipmunk (Parson) on Jan 21, 2001 at 21:35 UTC
    If the error mentions DynaLoader.pm, then the module itself can be found; it is rather a dynamic component of the module that is missing. For example, the Socket module has a Socket.pm file, and a Socket.so file (on Unix) that is loaded by DynaLoader.

    When you get an error like the one you mentioned, it's either because the module's extra file is missing, or is installed but with the wrong permissions for the current user. The dynamic library file for a module should be in the auto/ directory under the architecture-specific directory.

    If Win32/ODBC.pm is at C:/perl/lib/perl5/5.00503/Win32/ODBC.pm, then the dynamic library file would probably be at C:/perl/lib/perl5/5.00503/MSWin32-x86/auto/Win32/ODBC/ODBC.dll. (Assuming that MSWin32-x86 is the architecture name and .dll is the dynamic library extension.)

    If you don't find the dynamic library file, try reinstalling the module; if you do find it, make sure that it has the right permissions.

      I have checked the filenames, and it still does not work.

      My module files do not seem to have an architecture-specific directory. (I tried it both ways.)

      Considering that I am using MS Win 2000, what permissions would be right for the file?

      TIA,
      Sinan
        I have solved my problem, thanks everyone.

        I was using the wrong version's files. :-(
        Sinan