Unloading data from Db2 on Linux, UNIX, and Windows systems to a remote client
You can unload data from a database table on server on Db2 on Linux, UNIX, and Windows systems to a remote client.
The unload operation is used to stream data from a Db2 database to a remote client. The unload operation does not remove rows from the database, but rather stores the unloaded data in a flat file that is suitable for loading back into a Db2 database. You can use the unload operation also to stream data into a named pipe in a remote client.
Unloading data by using a named external table
To unload data from your database into a file by using an INSERT statement, execute the following query.
INSERT INTO EXT_EMPLOYEE SELECT * FROM EMPLOYEE;
Unloading data by using a transient external table
The data can be unloaded using a transient external table by issuing following the command.
CREATE EXTERNAL TABLE '/tmp/employee.dat' USING (DELIMITER ',’ REMOTESOURCE 'JDBC’)
AS SELECT * FROM EMPLOYEE;
Sometimes the IBM® Data Server Driver for JDBC and SQLJ cannot write the external table file in the path that is specified in the DataObject options. For example, if you have a named external table, or the path that is specified in transient external table, the driver writes the external table file to the driver's default output directory.
Fetching Unload file name
| ExternalTableResult Methods | Purpose |
|---|---|
| Throwable getError () | Returns the first error that occurred while writing the unload file. |
| String getUnloadFileName() | Returns the name of the file where data has been unloaded. |
ExternalTableResult lr = ((DB2Statement) stmt).getExternalTableResult ();
String unloadFileName = lr.getUnloadFileName ();
Throwable error = lr.getError();