org.apache.xalan.lib.sql
Class XConnection

java.lang.Object
  |
  +--org.apache.xalan.lib.sql.XConnection

public class XConnection
extends java.lang.Object

An XSLT extension that allows a stylesheet to access JDBC data. It is accessed by specifying a namespace URI as follows:

    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, NodeList list)
           
XConnection(ExpressionContext exprContext, java.lang.String ConnPoolName)
           
XConnection(ExpressionContext exprContext, java.lang.String driver, java.lang.String dbURL)
           
XConnection(ExpressionContext exprContext, java.lang.String driver, java.lang.String dbURL, Element protocolElem)
           
XConnection(ExpressionContext exprContext, java.lang.String driver, java.lang.String dbURL, java.lang.String user, java.lang.String password)
           
 
Method Summary
 void addParameter(java.lang.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(java.lang.String value, java.lang.String Type)
          Add a typed parameter to the parameter list.
 void clearParameters()
           
 void close()
          Close the connection to the data source.
 void close(SQLDocument sqldoc)
          Close the connection to the data source.
 XBooleanStatic connect(ExpressionContext exprContext, Element protocolElem)
           
 XBooleanStatic connect(ExpressionContext exprContext, NodeList list)
           
 XBooleanStatic connect(ExpressionContext exprContext, java.lang.String ConnPoolName)
          Create an XConnection using the name of an existing Connection Pool
 XBooleanStatic connect(ExpressionContext exprContext, java.lang.String driver, java.lang.String dbURL)
          Create an XConnection object with just a driver and database URL.
 XBooleanStatic connect(ExpressionContext exprContext, java.lang.String driver, java.lang.String dbURL, Element protocolElem)
          Create an XConnection object with a connection protocol
 XBooleanStatic connect(ExpressionContext exprContext, java.lang.String driver, java.lang.String dbURL, java.lang.String user, java.lang.String password)
          Create an XConnection object with user ID and password.
 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.
 DTM getError()
          Provide access to the last error that occued.
 DTM pquery(ExpressionContext exprContext, java.lang.String queryString)
          Execute a parameterized query statement by instantiating an
 DTM pquery(ExpressionContext exprContext, java.lang.String queryString, java.lang.String typeInfo)
          Execute a parameterized query statement by instantiating an
 DTM query(ExpressionContext exprContext, java.lang.String queryString)
          Execute a query statement by instantiating an
 void setParameter(int pos, java.sql.PreparedStatement stmt, QueryParameter p)
          Set the parameter for a Prepared Statement
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XConnection

public XConnection()

XConnection

public XConnection(ExpressionContext exprContext,
                   java.lang.String ConnPoolName)
Parameters:
exprContext -  
ConnPoolName -  

XConnection

public XConnection(ExpressionContext exprContext,
                   java.lang.String driver,
                   java.lang.String dbURL)
Parameters:
exprContext -  
driver -  
dbURL -  

XConnection

public XConnection(ExpressionContext exprContext,
                   NodeList list)
Parameters:
exprContext -  
list -  

XConnection

public XConnection(ExpressionContext exprContext,
                   java.lang.String driver,
                   java.lang.String dbURL,
                   java.lang.String user,
                   java.lang.String password)
Parameters:
exprContext -  
driver -  
dbURL -  
user -  
password -  

XConnection

public XConnection(ExpressionContext exprContext,
                   java.lang.String driver,
                   java.lang.String dbURL,
                   Element protocolElem)
Parameters:
exprContext -  
driver -  
dbURL -  
protocolElem -  
Method Detail

connect

public XBooleanStatic connect(ExpressionContext exprContext,
                              java.lang.String ConnPoolName)
Create an XConnection using the name of an existing Connection Pool
Parameters:
exprContext -  
ConnPoolName -  
Returns:
 

connect

public XBooleanStatic connect(ExpressionContext exprContext,
                              java.lang.String driver,
                              java.lang.String dbURL)
Create an XConnection object with just a driver and database URL.
Parameters:
exprContext -  
driver - JDBC driver of the form foo.bar.Driver.
dbURL - database URL of the form jdbc:subprotocol:subname.
Returns:
 

connect

public XBooleanStatic connect(ExpressionContext exprContext,
                              Element protocolElem)
Parameters:
exprContext -  
protocolElem -  
Returns:
 

connect

public XBooleanStatic connect(ExpressionContext exprContext,
                              NodeList list)
Parameters:
exprContext -  
list -  
Returns:
 

connect

public XBooleanStatic connect(ExpressionContext exprContext,
                              java.lang.String driver,
                              java.lang.String dbURL,
                              java.lang.String user,
                              java.lang.String password)
Create an XConnection object with user ID and password.
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.
Returns:
 

connect

public XBooleanStatic connect(ExpressionContext exprContext,
                              java.lang.String driver,
                              java.lang.String dbURL,
                              Element protocolElem)
Create an XConnection object with a connection protocol
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".
Returns:
 

query

public DTM query(ExpressionContext exprContext,
                 java.lang.String queryString)
Execute a query statement by instantiating an
Parameters:
exprContext -  
queryString - the SQL query.
Returns:
XStatement implements NodeIterator.
Throws:
java.sql.SQLException -  

pquery

public DTM pquery(ExpressionContext exprContext,
                  java.lang.String queryString)
Execute a parameterized query statement by instantiating an
Parameters:
exprContext -  
queryString - the SQL query.
Returns:
XStatement implements NodeIterator.
Throws:
java.sql.SQLException -  

pquery

public DTM pquery(ExpressionContext exprContext,
                  java.lang.String queryString,
                  java.lang.String typeInfo)
Execute a parameterized query statement by instantiating an
Parameters:
exprContext -  
queryString - the SQL query.
typeInfo -  
Returns:
XStatement implements NodeIterator.
Throws:
java.sql.SQLException -  

addParameter

public void addParameter(java.lang.String value)
Add an untyped value to the parameter list.
Parameters:
value -  
Returns:
 

addParameterWithType

public void addParameterWithType(java.lang.String value,
                                 java.lang.String Type)
Add a typed parameter to the parameter list.
Parameters:
value -  
Type -  
Returns:
 

addParameterFromElement

public void addParameterFromElement(Element e)
Add a single parameter to the parameter list formatted as an Element
Parameters:
e -  
Returns:
 

addParameterFromElement

public void addParameterFromElement(NodeList nl)
Add a section of parameters to the Parameter List Do each element from the list
Parameters:
nl -  
Returns:
 

clearParameters

public void clearParameters()
Returns:
 

enableDefaultConnectionPool

public void enableDefaultConnectionPool()
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.
Returns:
 

disableDefaultConnectionPool

public void disableDefaultConnectionPool()
See enableDefaultConnectionPool
Returns:
 

enableStreamingMode

public void enableStreamingMode()
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.
Returns:
 

disableStreamingMode

public void disableStreamingMode()
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.
Returns:
 

getError

public DTM getError()
Provide access to the last error that occued. This error may be over written when the next operation occurs.
Returns:
 

close

public void close()
           throws java.sql.SQLException
Close the connection to the data source.
Returns:
 
Throws:
java.sql.SQLException -  

close

public void close(SQLDocument sqldoc)
           throws java.sql.SQLException
Close the connection to the data source. Only close the connections for a single document.
Parameters:
sqldoc -  
Returns:
 
Throws:
java.sql.SQLException -  

setParameter

public void setParameter(int pos,
                         java.sql.PreparedStatement stmt,
                         QueryParameter p)
                  throws java.sql.SQLException
Set the parameter for a Prepared Statement
Parameters:
pos -  
stmt -  
p -  
Returns:
 
Throws:
java.sql.SQLException -  


Copyright © 2002 Apache XML Project. All Rights Reserved.