home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam    

Book HomeProgramming the Perl DBISearch this book

7.7. Moving Between Win32::ODBC and the DBI

Let's say that you've already written an application that uses Win32::ODBC, but you now need to run it on a non-Windows machine, or just want to use the DBI for some other reason.

The best technical approach would be to rewrite the application, but the real world doesn't often give us that kind of luxury. A more practical solution would be to use some kind of emulation of Win32::ODBC that uses the DBI "under the hood". The Win32::DBIODBC module bundled with the DBI does just that.

The Win32::DBIODBC module implements enough of the Win32::ODBC API for many simple applications to be ported with only a one-line change. Instead of saying:

use Win32::ODBC;

you just say:

use Win32::DBIODBC;

In the rest of your code, you still refer to the Win32::ODBC module. There is also an easy way to test your applications without having to change them at all. Just load Win32::DBIODBC from the command line:

perl -MWin32::DBIODBC your_script_name

Win32::DBIODBC fools Perl into thinking that Win32::ODBC has been loaded, so the use Win32::ODBC; line in your script won't have any effect.

Once you're using the emulation, you have the option to start rewriting the application to use the DBI directly at your own pace.

Library Navigation Links

Copyright © 2001 O'Reilly & Associates. All rights reserved.