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.
Get Programming the Perl DBI now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.