## org.hsqldb.jdbc
Class jdbcDataSource

    java.lang.Object
      org.hsqldb.jdbc.jdbcDataSource

All Implemented Interfaces:
  javax.sql.DataSource, javax.naming.Referenceable, java.io.Serializable

public class jdbcDataSource
extends java.lang.Object
implements java.io.Serializable, javax.naming.Referenceable, javax.sql.DataSource

A factory for connections to the physical data source that this `DataSource` object represents. An alternative to the `DriverManager` facility, a `DataSource` object is the preferred means of getting a connection. An object that implements the `DataSource` interface will typically be registered with a naming service based on the JavaTM Naming and Directory (JNDI) API.

The `DataSource` interface is implemented by a driver vendor. There are three types of implementations:

1. Basic implementation -- produces a standard `Connection` object
2. Connection pooling implementation -- produces a `Connection` object that will automatically participate in connection pooling. This implementation works with a middle-tier connection pooling manager.
3. Distributed transaction implementation -- produces a `Connection` object that may be used for distributed transactions and almost always participates in connection pooling. This implementation works with a middle-tier transaction manager and almost always with a connection pooling manager.

A `DataSource` object has properties that can be modified when necessary. For example, if the data source is moved to a different server, the property for the server can be changed. The benefit is that because the data source's properties can be changed, any code accessing that data source does not need to be changed.

A driver that is accessed via a `DataSource` object does not register itself with the `DriverManager`. Rather, a `DataSource` object is retrieved though a lookup operation and then used to create a `Connection` object. With a basic implementation, the connection obtained through a `DataSource` object is identical to a connection obtained through the `DriverManager` facility.

Since:
  JDK 1.4
Author:
  deforest@users
See Also:
  Serialized Form

Constructor Summary
`jdbcDataSource()` Constructor

Method Summary
`java.sql.Connection` `getConnection()` Attempts to establish a connection with the data source that this `DataSource` object represents.
`java.sql.Connection` `getConnection(java.lang.String username, java.lang.String password)` Attempts to establish a connection with the data source that this `DataSource` object represents.
`java.lang.String` `getDatabase()` Retrieves the jdbc database connection url attribute.
`int` `getLoginTimeout()` Gets the maximum time in seconds that this data source can wait while attempting to connect to a database.
`java.io.PrintWriter` `getLogWriter()` Retrieves the log writer for this `DataSource` object.
`javax.naming.Reference` `getReference()`
`java.lang.String` `getUser()` Retrieves the user ID for the connection.
`void` `setDatabase(java.lang.String database)` Assigns the value of this object's jdbc database connection url attribute.
`void` `setLoginTimeout(int seconds)` Sets the maximum time in seconds that this data source will wait while attempting to connect to a database.
`void` `setLogWriter(java.io.PrintWriter logWriter)` Sets the log writer for this `DataSource` object to the given `java.io.PrintWriter` object.
`void` `setPassword(java.lang.String password)` Sets the password to use for connecting to the database
`void` `setUser(java.lang.String user)` Sets the userid

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### jdbcDataSource

    public jdbcDataSource()

  Constructor

Method Detail

### getConnection

    public java.sql.Connection getConnection()
                                      throws java.sql.SQLException

  Attempts to establish a connection with the data source that this `DataSource` object represents.

  Specified by:
    `getConnection` in interface `javax.sql.DataSource`
  Returns:
    a connection to the data source
  Throws:
    `java.sql.SQLException` - if a database access error occurs

### getConnection

    public java.sql.Connection getConnection(java.lang.String username,
                                             java.lang.String password)
                                      throws java.sql.SQLException

  Attempts to establish a connection with the data source that this `DataSource` object represents.

  Specified by:
    `getConnection` in interface `javax.sql.DataSource`
  Parameters:
    `username` - the database user on whose behalf the connection is being made
    `password` - the user's password
  Returns:
    a connection to the data source
  Throws:
    `java.sql.SQLException` - if a database access error occurs

### getDatabase

    public java.lang.String getDatabase()

  Retrieves the jdbc database connection url attribute.

  Returns:
    the jdbc database connection url attribute

### getLoginTimeout

    public int getLoginTimeout()
                        throws java.sql.SQLException

  Gets the maximum time in seconds that this data source can wait while attempting to connect to a database. A value of zero means that the timeout is the default system timeout if there is one; otherwise, it means that there is no timeout. When a `DataSource` object is created, the login timeout is initially zero.

  Specified by:
    `getLoginTimeout` in interface `javax.sql.DataSource`
  Returns:
    the data source login time limit
  Throws:
    `java.sql.SQLException` - if a database access error occurs.
  See Also:
    `setLoginTimeout(int)`

### getLogWriter

    public java.io.PrintWriter getLogWriter()
                                     throws java.sql.SQLException

  Retrieves the log writer for this `DataSource` object.

  The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source specific log writer are not printed to the log writer associated with the `java.sql.Drivermanager` class. When a `DataSource` object is created, the log writer is initially null; in other words, the default is for logging to be disabled.

  Specified by:
    `getLogWriter` in interface `javax.sql.DataSource`
  Returns:
    the log writer for this data source or null if logging is disabled
  Throws:
    `java.sql.SQLException` - if a database access error occurs
  See Also:
    `setLogWriter(java.io.PrintWriter)`

### getReference

    public javax.naming.Reference getReference()
                                        throws javax.naming.NamingException

  Specified by:
    `getReference` in interface `javax.naming.Referenceable`
  Throws:
    `javax.naming.NamingException`

### getUser

    public java.lang.String getUser()

  Retrieves the user ID for the connection.

  Returns:
    the user ID for the connection

### setDatabase

    public void setDatabase(java.lang.String database)

  Assigns the value of this object's jdbc database connection url attribute.

  Parameters:
    `database` - the new value of this object's jdbc database connection url attribute

### setLoginTimeout

    public void setLoginTimeout(int seconds)
                         throws java.sql.SQLException

  Sets the maximum time in seconds that this data source will wait while attempting to connect to a database. A value of zero specifies that the timeout is the default system timeout if there is one; otherwise, it specifies that there is no timeout. When a `DataSource` object is created, the login timeout is initially zero.

  Specified by:
    `setLoginTimeout` in interface `javax.sql.DataSource`
  Parameters:
    `seconds` - the data source login time limit
  Throws:
    `java.sql.SQLException` - if a database access error occurs.
  See Also:
    `getLoginTimeout()`

### setLogWriter

    public void setLogWriter(java.io.PrintWriter logWriter)
                      throws java.sql.SQLException

  Sets the log writer for this `DataSource` object to the given `java.io.PrintWriter` object.

  The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source- specific log writer are not printed to the log writer associated with the `java.sql.Drivermanager` class. When a `DataSource` object is created the log writer is initially null; in other words, the default is for logging to be disabled.

  Specified by:
    `setLogWriter` in interface `javax.sql.DataSource`
  Parameters:
    `logWriter` - the new log writer; to disable logging, set to null
  Throws:
    `java.sql.SQLException` - if a database access error occurs
  See Also:
    `getLogWriter()`

### setPassword

    public void setPassword(java.lang.String password)

  Sets the password to use for connecting to the database

  Parameters:
    `password` - the password

### setUser

    public void setUser(java.lang.String user)

  Sets the userid

  Parameters:
    `user` - the user id

Copyright © 2001 - 2005 HSQL Development Group. All Rights Reserved.