public class DatabaseLoader extends AbstractLoader implements BatchConverter, IncrementalConverter, DatabaseConverter, OptionHandler
-url <JDBC URL> The JDBC URL to connect to. (default: from DatabaseUtils.props file)
-user <name> The user to connect with to the database. (default: none)
-password <password> The password to connect with to the database. (default: none)
-Q <query> SQL query of the form SELECT <list of columns>|* FROM <table> [WHERE] to execute. (default: Select * From Results0)
-P <list of column names> List of column names uniquely defining a DB row (separated by ', '). Used for incremental loading. If not specified, the key will be determined automatically, if possible with the used JDBC driver. The auto ID column created by the DatabaseSaver won't be loaded.
-I Sets incremental loading
Loader,
Serialized FormBATCH, INCREMENTAL, NONE| Constructor and Description |
|---|
DatabaseLoader()
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
connectToDatabase()
Opens a connection to the database
|
Instances |
getDataSet()
Return the full data set in batch mode (header and all intances at once).
|
String |
getKeys()
Gets the key columns' name
|
Instance |
getNextInstance(Instances structure)
Read the data set incrementally---get the next instance in the data
set or returns null if there are no
more instances to get.
|
String[] |
getOptions()
Gets the setting
|
String |
getPassword()
Returns the database password
|
String |
getQuery()
Gets the query to execute against the database
|
String |
getRevision()
Returns the revision string.
|
Instances |
getStructure()
Determines and returns (if possible) the structure (internally the
header) of the data set as an empty set of instances.
|
String |
getUrl()
Gets the URL
|
String |
getUser()
Gets the user name
|
String |
globalInfo()
Returns a string describing this Loader
|
String |
keysTipText()
the tip text for this property
|
Enumeration |
listOptions()
Lists the available options
|
static void |
main(String[] options)
Main method.
|
String |
passwordTipText()
the tip text for this property
|
String |
queryTipText()
the tip text for this property
|
void |
reset()
Resets the Loader ready to read a new data set
|
void |
resetStructure()
Resets the structure of instances
|
void |
setKeys(String keys)
Sets the key columns of a database table
|
void |
setOptions(String[] options)
Sets the options.
|
void |
setPassword(String password)
Sets user password for the database
|
void |
setQuery(String q)
Sets the query to execute against the database
|
void |
setSource()
Sets the database url using the DatabaseUtils file
|
void |
setSource(String url)
Sets the database url
|
void |
setSource(String url,
String userName,
String password)
Sets the database url, user and pw
|
void |
setUrl(String url)
Sets the database URL
|
void |
setUser(String user)
Sets the database user
|
String |
urlTipText()
the tip text for this property
|
String |
userTipText()
the tip text for this property
|
setRetrieval, setSource, setSourcepublic String globalInfo()
public void reset()
throws Exception
reset in interface Loaderreset in class AbstractLoaderException - if an error occurs while disconnecting from the databasepublic void resetStructure()
public void setQuery(String q)
q - the query to executepublic String getQuery()
public String queryTipText()
public void setKeys(String keys)
keys - a String containing the key columns in a comma separated list.public String getKeys()
public String keysTipText()
public void setUrl(String url)
setUrl in interface DatabaseConverterurl - string with the database URLpublic String getUrl()
getUrl in interface DatabaseConverterpublic String urlTipText()
public void setUser(String user)
setUser in interface DatabaseConverteruser - the database user namepublic String getUser()
getUser in interface DatabaseConverterpublic String userTipText()
public void setPassword(String password)
setPassword in interface DatabaseConverterpassword - the passwordpublic String getPassword()
public String passwordTipText()
public void setSource(String url, String userName, String password)
url - the database urluserName - the user namepassword - the passwordpublic void setSource(String url)
url - the database urlpublic void setSource()
throws Exception
Exception - if something goes wrongpublic void connectToDatabase()
public Instances getStructure() throws IOException
getStructure in interface LoadergetStructure in class AbstractLoaderIOException - if an error occurspublic Instances getDataSet() throws IOException
getDataSet in interface LoadergetDataSet in class AbstractLoaderIOException - if there is no source or parsing failspublic Instance getNextInstance(Instances structure) throws IOException
getNextInstance in interface LoadergetNextInstance in class AbstractLoaderstructure - the dataset header information, will get updated in
case of string or relational attributesIOException - if there is an error during parsingpublic String[] getOptions()
getOptions in interface OptionHandlerpublic Enumeration listOptions()
listOptions in interface OptionHandlerpublic void setOptions(String[] options) throws Exception
-url <JDBC URL> The JDBC URL to connect to. (default: from DatabaseUtils.props file)
-user <name> The user to connect with to the database. (default: none)
-password <password> The password to connect with to the database. (default: none)
-Q <query> SQL query of the form SELECT <list of columns>|* FROM <table> [WHERE] to execute. (default: Select * From Results0)
-P <list of column names> List of column names uniquely defining a DB row (separated by ', '). Used for incremental loading. If not specified, the key will be determined automatically, if possible with the used JDBC driver. The auto ID column created by the DatabaseSaver won't be loaded.
-I Sets incremental loading
setOptions in interface OptionHandleroptions - the optionsException - if options cannot be setpublic String getRevision()
getRevision in interface RevisionHandlerpublic static void main(String[] options)
options - the optionsCopyright © 2021 University of Waikato, Hamilton, NZ. All rights reserved.