Performing remote loading v16

EDB*Loader supports a feature called remote loading. In remote loading, the database containing the table to load is running on a database server on a host different from the one where EDB*Loader is invoked with the input data source.

This feature is useful if you have a large amount of data to load, and you don't want to create a large data file on the host running the database server.

In addition, you can use the standard input feature to pipe the data from the data source, such as another program or script, directly to EDB*Loader. EDB*Loader then loads the table in the remote database. This feature bypasses having to create a data file on disk for EDB*Loader.

Requirements

Performing remote loading using standard input requires:

  • The edbldr program must be installed on the client host on which to invoke it with the data source for the EDB*Loader session.
  • The control file must contain the clause INFILE 'stdin' so you can pipe the data directly into EDB*Loader’s standard input. For information on the INFILE clause and the EDB*Loader control file, see Building the EDB*Loader control file.
  • All files used by EDB*Loader, such as the control file, bad file, discard file, and log file, must reside on or be created on the client host on which edbldr is invoked.
  • When invoking EDB*Loader, use the -h option to specify the IP address of the remote database server. For more information, see Invoking EDB*Loader.
  • Use the operating system pipe operator (|) or input redirection operator (<) to supply the input data to EDB*Loader.

Loading a database

This example loads a database running on a database server at 192.168.1.14 using data piped from a source named datasource:

datasource | ./edbldr -d edb -h 192.168.1.14 USERID=enterprisedb/password
CONTROL=remote.ctl

This example also shows how you can use standard input:

./edbldr -d edb -h 192.168.1.14 USERID=enterprisedb/password
CONTROL=remote.ctl < datasource