Executes a series of SQL statements on a database using JDBC.
Statements can
either be read in from a text file using the
src attribute or from
between the enclosing SQL tags.
Multiple statements can be provided, separated by semicolons (or the
defined
delimiter). Individual lines within the statements can be
commented using either --, // or REM at the start of the line.
The
autocommit attribute specifies whether auto-commit should be
turned on or off whilst executing the statements. If auto-commit is turned
on each statement will be executed and committed. If it is turned off the
statements will all be executed as one transaction.
The
onerror attribute specifies how to proceed when an error occurs
during the execution of one of the statements.
The possible values are:
continue execution, only show the error;
stop execution and commit transaction;
and
abort execution and transaction and fail task.
add
public void add(ResourceCollection rc)
Adds a collection of resources (nested element).
rc
- a collection of resources containing SQL commands,
each resource is run in a separate transaction.
addFileset
public void addFileset(FileSet set)
Adds a set of files (nested fileset attribute).
set
- a set of files contains SQL commands, each File is run in
a separate transaction.
addText
public void addText(String sql)
Set an inline SQL command to execute.
NB: Properties are not expanded in this text unless
expandProperties
is set.
sql
- an inline string containing the SQL command.
createTransaction
public SQLExec.Transaction createTransaction()
Add a SQL transaction to execute
- a Transaction to be configured.
execSQL
protected void execSQL(String sql,
PrintStream out)
throws SQLException
Exec the sql statement.
sql
- the SQL statement to executeout
- the place to put output
getExpandProperties
public boolean getExpandProperties()
is property expansion inside inline text enabled?
- true if properties are to be expanded.
printResults
protected void printResults(PrintStream out)
throws SQLException
since 1.6.x.
Use the two arg version
instead.
print any results in the statement
out
- the place to print results
printResults
protected void printResults(ResultSet rs,
PrintStream out)
throws SQLException
print any results in the result set.
rs
- the resultset to print information aboutout
- the place to print results
runStatements
protected void runStatements(Reader reader,
PrintStream out)
throws SQLException,
IOException
read in lines and execute them
reader
- the reader contains sql lines.out
- the place to output results.
setAppend
public void setAppend(boolean append)
whether output should be appended to or overwrite
an existing file. Defaults to false.
append
- if true append to an existing file.
setDelimiter
public void setDelimiter(String delimiter)
Set the delimiter that separates SQL statements. Defaults to ";";
optional
For example, set this to "go" and delimitertype to "ROW" for
Sybase ASE or MS SQL Server.
delimiter
- the separator.
setDelimiterType
public void setDelimiterType(SQLExec.DelimiterType delimiterType)
Set the delimiter type: "normal" or "row" (default "normal").
The delimiter type takes two values - normal and row. Normal
means that any occurrence of the delimiter terminate the SQL
command whereas with row, only a line containing just the
delimiter is recognized as the end of the command.
delimiterType
- the type of delimiter - "normal" or "row".
setEncoding
public void setEncoding(String encoding)
Set the file encoding to use on the SQL files read in
encoding
- the encoding to use on the files
setEscapeProcessing
public void setEscapeProcessing(boolean enable)
Set escape processing for statements.
enable
- if true enable escape processing, default is true.
setExpandProperties
public void setExpandProperties(boolean expandProperties)
Enable property expansion inside nested text
expandProperties
- if true expand properties.
setKeepformat
public void setKeepformat(boolean keepformat)
whether or not format should be preserved.
Defaults to false.
keepformat
- The keepformat to set
setOnerror
public void setOnerror(SQLExec.OnError action)
Action to perform when statement fails: continue, stop, or abort
optional; default "abort"
action
- the action to perform on statement failure.
setOutput
public void setOutput(File output)
Set the output file;
optional, defaults to the Ant log.
output
- the output file to use for logging messages.
setPrint
public void setPrint(boolean print)
Print result sets from the statements;
optional, default false
print
- if true print result sets.
setShowheaders
public void setShowheaders(boolean showheaders)
Print headers for result sets from the
statements; optional, default true.
showheaders
- if true print headers of result sets.
setShowtrailers
public void setShowtrailers(boolean showtrailers)
Print trailing info (rows affected) for the SQL
Addresses Bug/Request #27446
showtrailers
- if true prints the SQL rows affected
setSrc
public void setSrc(File srcFile)
Set the name of the SQL file to be run.
Required unless statements are enclosed in the build file
srcFile
- the file containing the SQL command.