Readers can read data from input files (both local and remote), receive it from the connected optional input port, read it from a dictionary, from a database, or from a JMS.
One component only generates data. Since it is also an initial node, we will describe it here.
We can distinguish Readers according to what they can read:
A DataGenerator component generates data.
FlatFileReader reads data from flat files (delimited or fixed length).
ParallelReader reads data from delimited flat files using more threads.
ComplexDataReader reads data from flat files whose structure is heterogeneous or mutually dependent and it uses a GUI to achieve that.
MultiLevelReader reads data from flat files with a heterogeneous structure.
Generally, use XMLExtract. If you require a more complex XPath queries, use XMLReader.
DBInputTable unloads data from database using a JDBC driver.
QuickBaseRecordWriter reads data from a QuickBase online database.
QuickBaseImportCSV reads data from a QuickBase online database using queries.
LotusReader reads data from a Lotus Notes or Lotus Domino database.
MongoDBReader reads data from a MongoDB NoSQL database.
SalesforceBulkReader reads data from a Salesforce cloud platform using Bulk API.
SalesforceReader reads data from a Salesforce cloud platform using SOAP API.