org.pentaho.di.trans.steps.orabulkloader
Class OraBulkLoader

java.lang.Object
  extended by org.pentaho.di.trans.step.BaseStep
      extended by org.pentaho.di.trans.steps.orabulkloader.OraBulkLoader
All Implemented Interfaces:
HasLogChannelInterface, LoggingObjectInterface, VariableSpace, StepInterface

public class OraBulkLoader
extends BaseStep
implements StepInterface

Performs a bulk load to an oracle table.

Since:
20-feb-2007
Author:
Sven Boden

Field Summary
static int EX_SUCC
           
static int EX_WARN
           
 
Fields inherited from class org.pentaho.di.trans.step.BaseStep
first, linesInput, linesOutput, linesRead, linesRejected, linesSkipped, linesUpdated, linesWritten, terminator, terminator_rows
 
Constructor Summary
OraBulkLoader(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
           
 
Method Summary
 void checkExitVal(int exitVal)
           
 String createCommandLine(OraBulkLoaderMeta meta, boolean password)
          Create the command line for an sqlldr process depending on the meta information supplied.
 void createControlFile(String filename, Object[] row, OraBulkLoaderMeta meta)
          Create a control file.
 void dispose(StepMetaInterface smi, StepDataInterface sdi)
          Dispose of this step: close files, empty logs, etc.
 boolean execute(OraBulkLoaderMeta meta, boolean wait)
           
 String getControlFileContents(OraBulkLoaderMeta meta, RowMetaInterface rm, Object[] r)
          Get the contents of the control file as specified in the meta object
 boolean init(StepMetaInterface smi, StepDataInterface sdi)
          Initialize and do work where other steps need to wait for...
 boolean processRow(StepMetaInterface smi, StepDataInterface sdi)
          Perform the equivalent of processing one row.
 
Methods inherited from class org.pentaho.di.trans.step.BaseStep
addResultFile, addRowListener, addStepListener, batchComplete, buildLog, canProcessOneRow, cleanup, closeQuietly, copyVariablesFrom, decrementLinesRead, decrementLinesWritten, dispatch, environmentSubstitute, environmentSubstitute, findInputRowSet, findInputRowSet, findOutputRowSet, findOutputRowSet, getBooleanValueOfVariable, getClusterSize, getContainerObjectId, getCopy, getDispatcher, getErrorRowMeta, getErrors, getFilename, getInputRowMeta, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesSkipped, getLinesUpdated, getLinesWritten, getLogChannel, getLogChannelId, getLogFields, getLogLevel, getNextClassNr, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getOutputRowSets, getParent, getParentVariableSpace, getPartitionID, getPartitionTargets, getPreviewRowMeta, getProcessed, getRegistrationDate, getRemoteInputSteps, getRemoteOutputSteps, getRepartitioning, getRepositoryDirectory, getResultFiles, getRow, getRowFrom, getRowListeners, getRuntime, getServerSockets, getSlaveNr, getSocketRepository, getStatus, getStatusDescription, getStepDataInterface, getStepID, getStepListeners, getStepMeta, getStepMetaInterface, getStepname, getTrans, getTransMeta, getTypeId, getUniqueStepCountAcrossSlaves, getUniqueStepNrAcrossSlaves, getVariable, getVariable, identifyErrorOutput, incrementLinesInput, incrementLinesOutput, incrementLinesRead, incrementLinesRejected, incrementLinesSkipped, incrementLinesUpdated, incrementLinesWritten, initBeforeStart, initializeVariablesFrom, injectVariables, isBasic, isDebug, isDetailed, isDistributed, isInitialising, isMapping, isPartitioned, isPaused, isRowLevel, isRunning, isStopped, isUsingThreadPriorityManagment, listVariables, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, logSummary, markStart, markStop, outputIsDone, pauseRunning, putError, putRow, putRowTo, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, safeModeChecking, setCarteObjectId, setCopy, setDistributed, setErrorRowMeta, setErrors, setInputRowMeta, setInputRowSets, setInternalVariables, setLinesInput, setLinesOutput, setLinesRead, setLinesRejected, setLinesSkipped, setLinesUpdated, setLinesWritten, setLogLevel, setOutputDone, setOutputRowSets, setParentVariableSpace, setPartitioned, setPartitionID, setPartitionTargets, setPaused, setPaused, setPreviewRowMeta, setRepartitioning, setRunning, setServerSockets, setSocketRepository, setStepDataInterface, setStepListeners, setStepMeta, setStepMetaInterface, setStepname, setStopped, setTransMeta, setUsingThreadPriorityManagment, setVariable, shareVariablesWith, stopAll, stopRunning, stopRunning, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.trans.step.StepInterface
addRowListener, addStepListener, batchComplete, canProcessOneRow, cleanup, getCopy, getErrors, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesUpdated, getLinesWritten, getLogChannel, getOutputRowSets, getPartitionID, getProcessed, getResultFiles, getRow, getRowListeners, getRuntime, getStatus, getStepID, getStepMeta, getStepname, getTrans, identifyErrorOutput, initBeforeStart, isMapping, isPartitioned, isPaused, isRunning, isStopped, isUsingThreadPriorityManagment, markStart, markStop, pauseRunning, putRow, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, setErrors, setLinesRejected, setOutputDone, setPartitioned, setPartitionID, setRepartitioning, setRunning, setStopped, setUsingThreadPriorityManagment, stopAll, stopRunning
 
Methods inherited from interface org.pentaho.di.core.variables.VariableSpace
copyVariablesFrom, environmentSubstitute, environmentSubstitute, getBooleanValueOfVariable, getParentVariableSpace, getVariable, getVariable, initializeVariablesFrom, injectVariables, listVariables, setParentVariableSpace, setVariable, shareVariablesWith
 

Field Detail

EX_SUCC

public static final int EX_SUCC
See Also:
Constant Field Values

EX_WARN

public static final int EX_WARN
See Also:
Constant Field Values
Constructor Detail

OraBulkLoader

public OraBulkLoader(StepMeta stepMeta,
                     StepDataInterface stepDataInterface,
                     int copyNr,
                     TransMeta transMeta,
                     Trans trans)
Method Detail

getControlFileContents

public String getControlFileContents(OraBulkLoaderMeta meta,
                                     RowMetaInterface rm,
                                     Object[] r)
                              throws KettleException
Get the contents of the control file as specified in the meta object

Parameters:
meta - the meta object to model the control file after
Returns:
a string containing the control file contents
Throws:
KettleException

createControlFile

public void createControlFile(String filename,
                              Object[] row,
                              OraBulkLoaderMeta meta)
                       throws KettleException
Create a control file.

Parameters:
filename -
meta -
Throws:
KettleException

createCommandLine

public String createCommandLine(OraBulkLoaderMeta meta,
                                boolean password)
                         throws KettleException
Create the command line for an sqlldr process depending on the meta information supplied.

Parameters:
meta - The meta data to create the command line from
password - Use the real password or not
Returns:
The string to execute.
Throws:
KettleException - Upon any exception

checkExitVal

public void checkExitVal(int exitVal)
                  throws KettleException
Throws:
KettleException

execute

public boolean execute(OraBulkLoaderMeta meta,
                       boolean wait)
                throws KettleException
Throws:
KettleException

processRow

public boolean processRow(StepMetaInterface smi,
                          StepDataInterface sdi)
                   throws KettleException
Description copied from interface: StepInterface
Perform the equivalent of processing one row. Typically this means reading a row from input (getRow()) and passing a row to output (putRow)).

Specified by:
processRow in interface StepInterface
Overrides:
processRow in class BaseStep
Parameters:
smi - The steps metadata to work with
sdi - The steps temporary working data to work with (database connections, result sets, caches, temporary variables, etc.)
Returns:
false if no more rows can be processed or an error occurred.
Throws:
KettleException

init

public boolean init(StepMetaInterface smi,
                    StepDataInterface sdi)
Description copied from interface: StepInterface
Initialize and do work where other steps need to wait for...

Specified by:
init in interface StepInterface
Overrides:
init in class BaseStep
Parameters:
smi - The metadata to work with
sdi - The data to initialize

dispose

public void dispose(StepMetaInterface smi,
                    StepDataInterface sdi)
Description copied from interface: StepInterface
Dispose of this step: close files, empty logs, etc.

Specified by:
dispose in interface StepInterface
Overrides:
dispose in class BaseStep
Parameters:
smi - The metadata to work with
sdi - The data to dispose of