org.apache.xalan.lib.sql
public class XConnection extends Object
xmlns:sql="http://xml.apache.org/xalan/sql"From the stylesheet perspective, XConnection provides 3 extension functions: new(), query(), and close(). Use new() to call one of XConnection constructors, which establishes a JDBC driver connection to a data source and returns an XConnection object. Then use the XConnection object query() method to return a result set in the form of a row-set element. When you have finished working with the row-set, call the XConnection object close() method to terminate the connection.
Constructor Summary | |
---|---|
XConnection() | |
XConnection(ExpressionContext exprContext, String connPoolName)
Constructs a new XConnection and attempts to connect to a datasource as
defined in the
connect(ExpressionContext exprContext, String connPoolName)
method.
| |
XConnection(ExpressionContext exprContext, String driver, String dbURL) | |
XConnection(ExpressionContext exprContext, NodeList list) | |
XConnection(ExpressionContext exprContext, String driver, String dbURL, String user, String password) | |
XConnection(ExpressionContext exprContext, String driver, String dbURL, Element protocolElem) |
Method Summary | |
---|---|
void | addParameter(String value)
Add an untyped value to the parameter list. |
void | addParameterFromElement(Element e)
Add a single parameter to the parameter list
formatted as an Element |
void | addParameterFromElement(NodeList nl)
Add a section of parameters to the Parameter List
Do each element from the list |
void | addParameterWithType(String value, String Type)
Add a typed parameter to the parameter list. |
void | clearParameters() |
void | close()
Close the connection to the data source.
|
void | close(ExpressionContext exprContext, Object doc)
Close the connection to the data source. |
XBooleanStatic | connect(ExpressionContext exprContext, String name)
Returns an XConnection from either a user created
org.apache.xalan.lib.sql.ConnectionPool or a JNDI datasource.
|
XBooleanStatic | connect(ExpressionContext exprContext, String driver, String dbURL)
Create an XConnection object with just a driver and database URL. |
XBooleanStatic | connect(ExpressionContext exprContext, Element protocolElem) |
XBooleanStatic | connect(ExpressionContext exprContext, NodeList list) |
XBooleanStatic | connect(ExpressionContext exprContext, String driver, String dbURL, String user, String password)
Create an XConnection object with user ID and password. |
XBooleanStatic | connect(ExpressionContext exprContext, String driver, String dbURL, Element protocolElem)
Create an XConnection object with a connection protocol |
void | disableDefaultConnectionPool()
See enableDefaultConnectionPool
|
void | disableStreamingMode()
Control how the SQL Document uses memory. |
void | enableDefaultConnectionPool()
There is a problem with some JDBC drivers when a Connection
is open and the JVM shutsdown. |
void | enableStreamingMode()
Control how the SQL Document uses memory. |
ConnectionPool | getConnectionPool()
Allow the SQL Document to retrive a connection to be used
to build the SQL Statement. |
DTM | getError()
Provide access to the last error that occued. |
String | getFeature(String feature)
Get feature options for this XConnection. |
DTM | pquery(ExpressionContext exprContext, String queryString)
Execute a parameterized query statement by instantiating an |
DTM | pquery(ExpressionContext exprContext, String queryString, String typeInfo)
Execute a parameterized query statement by instantiating an |
DTM | query(ExpressionContext exprContext, String queryString)
Execute a query statement by instantiating an |
void | setError(Exception excp, ExpressionContext expr)
This is an internal version of Set Error that is called withen
XConnection where there is no SQLDocument created yet. |
void | setError(Exception excp, SQLDocument doc, SQLWarning warn)
Set an error and/or warning on this connection.
|
void | setFeature(String feature, String setting)
Set feature options for this XConnection. |
void | skipRec(ExpressionContext exprContext, Object o, int value)
The purpose of this routine is to force the DB cursor to skip forward
N records. |
connect(ExpressionContext exprContext, String connPoolName)
method.
org.apache.xalan.lib.sql.ConnectionPool
or a JNDI datasource.
Parameters: exprContext Context automatically passed from the XSLT sheet. name The name of the ConnectionPool or the JNDI DataSource path.
Parameters: exprContext driver dbURL
Parameters: exprContext list
Parameters: exprContext driver dbURL user password
Parameters: exprContext driver dbURL protocolElem
Parameters: value
Parameters: e
Parameters: nl
Parameters: value Type
Throws: SQLException
Throws: SQLException
org.apache.xalan.lib.sql.ConnectionPool
or a JNDI datasource.
This method first tries to resolve the passed name against
ConnectionPool
s registered with
ConnectionPoolManager
.
If that fails, it attempts to find the name as a JNDI DataSource path.
Parameters: exprContext Context automatically passed from the XSLT sheet. name The name of the ConnectionPool or the JNDI DataSource path.
Parameters: exprContext driver JDBC driver of the form foo.bar.Driver. dbURL database URL of the form jdbc:subprotocol:subname.
Parameters: exprContext protocolElem
Parameters: exprContext list
Parameters: exprContext driver JDBC driver of the form foo.bar.Driver. dbURL database URL of the form jdbc:subprotocol:subname. user user ID. password connection password.
Parameters: exprContext driver JDBC driver of the form foo.bar.Driver. dbURL database URL of the form jdbc:subprotocol:subname. protocolElem list of string tag/value connection arguments, normally including at least "user" and "password".
Deprecated: Use setFeature("default-pool-enabled", "false");
See enableDefaultConnectionPoolDeprecated: Use setFeature("streaming", "false");
Control how the SQL Document uses memory. In Streaming Mode, memory consumption is greatly reduces so you can have queries of unlimited size but it will not let you traverse the data more than once.Deprecated: Use setFeature("default-pool-enabled", "true");
There is a problem with some JDBC drivers when a Connection is open and the JVM shutsdown. If there is a problem, there is no way to control the currently open connections in the pool. So for the default connection pool, the actuall pooling mechinsm is disabled by default. The Stylesheet designer can re-enabled pooling to take advantage of connection pools. The connection pool can even be disabled which will close all outstanding connections.Deprecated: Use setFeature("streaming", "true");
Control how the SQL Document uses memory. In Streaming Mode, memory consumption is greatly reduces so you can have queries of unlimited size but it will not let you traverse the data more than once.Parameters: feature The name of the feature to get the setting for.
Returns: The setting of the specified feature. Will be "true" or "false" (null if the feature is not known)
Parameters: exprContext queryString the SQL query.
Returns: XStatement implements NodeIterator.
Throws: SQLException
UNKNOWN: org.apache.xalan.lib.sql.XStatement XStatement} object. The XStatement executes the query, and uses the result set to create a org.apache.xalan.lib.sql.RowSet RowSet}, a row-set element.
Parameters: exprContext queryString the SQL query. typeInfo
Returns: XStatement implements NodeIterator.
Throws: SQLException
UNKNOWN: org.apache.xalan.lib.sql.XStatement XStatement} object. The XStatement executes the query, and uses the result set to create a org.apache.xalan.lib.sql.RowSet RowSet}, a row-set element. This method allows for the user to pass in a comma seperated String that represents a list of parameter types. If supplied the parameter types will be used to overload the current types in the current parameter list.
Parameters: exprContext queryString the SQL query.
Returns: XStatement implements NodeIterator.
Throws: SQLException
UNKNOWN: org.apache.xalan.lib.sql.XStatement XStatement} object. The XStatement executes the query, and uses the result set to create a org.apache.xalan.lib.sql.RowSet RowSet}, a row-set element.
Parameters: feature The name of the feature being set, currently supports (streaming, inline-variables, multiple-results, cache-statements, default-pool-enabled). setting The new setting for the specified feature, currently "true" is true and anything else is false.
Parameters: exprContext o value