FileDocCategorySizeDatePackage
DataSource.javaAPI DocAndroid 1.5 API6700Wed May 06 22:41:06 BST 2009javax.sql

DataSource

public interface DataSource
An interface for the creation of {@code Connection} objects which represent a connection to a database. This interface is an alternative to the {@code java.sql.DriverManager}.

A class which implements the {@code DataSource} interface is typically registered with a JNDI naming service directory and is retrieved from there by name.

The {@code DataSource} interface is typically implemented by the writer of a JDBC driver. There are three variants of the {@code DataSource} interface, which produce connections with different characteristics:

  1. Standard {@code DataSource}: produces standard {@code Connection} objects with no special features.
  2. Connection Pool {@code DataSource}: produces {@code PooledConnection} objects which require a connection pool manager as an intermediary component.
  3. Distributed transaction {@code DataSource} ("XADataSource"): produces {@code XAConnection} objects which can be used to handle distributed transactions which typically require an intermediary transaction manager component. {@code XAConnection} objects also provide connection pooling capabilities as well as distributed transaction capabilities.

Note that a JDBC driver which is accessed via the {@code DataSource} interface is loaded via a JNDI lookup process. A driver loaded in this way does not register itself with the {@code DriverManager}.

since
Android 1.0

Fields Summary
Constructors Summary
Methods Summary
public java.sql.ConnectiongetConnection()
Creates a connection to the database represented by this {@code DataSource}.

return
a {@code Connection} object which is a connection to the database.
throws
SQLException if there is a problem accessing the database.
since
Android 1.0

public java.sql.ConnectiongetConnection(java.lang.String theUsername, java.lang.String thePassword)
Creates a connection to the database represented by this {@code DataSource}, using the supplied user name and password.

param
theUsername the a user name for the database login.
param
thePassword the password associated with the user identified by {@code theUsername}.
return
the {@code Connection} object which is the connection to the database.
throws
SQLException if there is a problem accessing the database.
since
Android 1.0

public java.io.PrintWritergetLogWriter()
Gets the log writer for this {@code DataSource}.

The log writer is a stream to which all log and trace messages are sent from this {@code DataSource}. The log writer can be {@code null}, in which case, log and trace capture is disabled. The default value for the log writer when an {@code DataSource} is created is {@code null}. Note that the log writer for a {@code DataSource} is not the same as the log writer used by a {@code DriverManager}.

return
a {@code PrintWriter} which is the log writer for this {@code DataSource}. Can be {@code null}, in which case log writing is disabled for this {@code DataSource}.
throws
SQLException if there is a problem accessing the database.
since
Android 1.0

public intgetLoginTimeout()
Gets the login timeout value for this {@code DataSource}. The login timeout is the maximum time in seconds that the {@code DataSource} will wait when opening a connection to a database. A timeout value of 0 implies either the system default timeout value (if there is one) or that there is no timeout. The default value for the login timeout is 0.

return
the login timeout value in seconds.
throws
SQLException if there is a problem accessing the database.
since
Android 1.0

public voidsetLogWriter(java.io.PrintWriter theWriter)
Sets the log writer for this {@code DataSource}.

The log writer is a stream to which all log and trace messages are sent from this {@code DataSource}. The log writer can be {@code null}, in which case, log and trace capture is disabled. The default value for the log writer when a {@code DataSource} is created is {@code null}. Note that the log writer for a {@code DataSource} is not the same as the log writer used by a {@code DriverManager}.

param
theWriter a {@code PrintWriter} to use as the log writer for this {@code DataSource}.
throws
SQLException if there is a problem accessing the database.
since
Android 1.0

public voidsetLoginTimeout(int theTimeout)
Sets the login timeout value for this {@code DataSource}. The login timeout is the maximum time in seconds that the {@code DataSource} will wait when opening a connection to a database. A timeout value of 0 implies either the system default timeout value (if there is one) or that there is no timeout. The default value for the login timeout is 0.

param
theTimeout the new login timeout value in seconds.
throws
SQLException if there is a problem accessing the database.
since
Android 1.0