Oracle-SQLLoader README ============================= OVERVIEW Oracle::SQLLoader is an object interface to Oracle's SQL*Loader bulk loader utility. It is designed to minimize the amount of SQL*Loader synatx and number of options that you need to know about just to get data loaded into tables. It requires that you know a bit about your load scenario, such as the destination table name, destination columns, and the general layout of the file to be loaded. From there, the modules attempts to dwim as best as possible by using defaults to all of the various sqlldr options. The module currently supports the loading of a single table from a single file. The file can be either fixed length or delimited. For a delimited file load, just add the names of the destination columns in the order the fields appears in the data file and optionally supply a data type. For a fixed length load, supply the destination column name; the combination of the field starting offset and field length, or the field start and end offsets in the data file; and an optional data type. Besides letting you skip the Oracle docs, the module provides a lot of useful stats and return codes by parsing the sqlldr output. SUPPORTED PLATFORMS Oracle::SQLLoader has been successfully tested on the following platforms: * Oracle 9.2.1.0 on Solaris 8 and 9 * Oracle 9.2.1.0 on Debian GNU/Linux testing * Oracle 10.1.0.2 on Windows XP and Enterprise Server 2003 * Oracle 10.2.0 on RHEL4 If you try this module on any other platforms, any success or failure report would be greatly appreciated. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES You'll need to have the sqlldr executable somewhere in your path. You should have the following environment variables set: ORACLE_HOME - the location of the Oracle installation ORACLE_SID - the database instance name ORACLE_USERID - the username and password to connect to the database as; the format is username/password (e.g. scott/tiger) Before executing, ensure remote connectivity by executing `tnsping $ORACLE_SID`. COPYRIGHT AND LICENSE The Oracle::SQLLoader module is Copyright (c) 2006 Ezra Pagel. The Oracle::SQLLoader module is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available. Modifications to Oracle::SQLLoader are Copyright (c) 2006 Health Market Science, though this code remains free under the terms of the original license. SQL*Loader is Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. THOUGHTS I tried to keep this module as simple as possible. It does what I want it to do, but your definition of "most commonly used functionality" may differ from mine by quite a bit. I find myself repeating the same tasks regularly, and 90% of the time I'm just loading a single table from a fixed length file and don't feel like looking up the exact sqlldr syntax. The SQL*Loader utility, like most things Oracle, is exteremely well documented, so the I don't see the point in using a module to generate sqlldr control and parameter files if you've got to read just as much POD as you would Oracle docs. This module will never support every obscure option that sqlldr offers. It's highly unlikely that I'll ever find myself loading LOBs from an auxillary file, but in the event that I do, I'll add it to the module; patches and contributions welcome! CONTRIBUTIONS Craig Pearlman added various fixes, most importantly initializing and generating the options clause correctly. $Id: README,v 1.9 2004-09-06 21:58:28 ezra Exp $