More DBA job interview questions and answers at
http://dba.fyicenter.com/Interview-Questions/
(Continued from previous question...)
How to get a DataSource ?
Normally, you can simply work with the interfaces for javax.sql.DataSource, javax.sql.ConnectionPoolDataSource, and javax.sql.XADataSource, as shown in the following examples.
import org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource;
import org.apache.derby.jdbc.EmbeddedDataSource;
import org.apache.derby.jdbc.EmbeddedXADataSource;
javax.sql.ConnectionPoolDataSource cpds = new DerbyConnectionPoolDataSource();
javax.sql.DataSource ds = new DerbyDataSource();
javax.sql.XADataSource xads = new DerbyXADataSource();
Derby provides six properties for a DataSource. These properties are in org.apache.derby.jdbc.EmbeddedDataSource. They are:
* DatabaseName
This mandatory property must be set. It identifies which database to access. If a database named wombat located at /local1/db/wombat is to be accessed, then one should call setDatabaseName("/local1/db/wombat") on the data source object.
* CreateDatabase
Optional. Sets a property to create a database the next time the XADataSource.getXAConection() method is called. The string createString is always "create" (or possibly null). (Use the method setDatabaseName() to define the name of the database.)
* ShutdownDatabase
Optional. Sets a property to shut down a database. The string shutDownString is always "shutdown" (or possibly null). Shuts down the database the next time XADataSource.getXAConnection().getConnection() method is called.
* DataSourceName
Optional. Name for ConnectionPooledDataSource or XADataSource. Not used by the data source object. Used for informational purpose only.
* Description
Optional. Description of the data source. Not used by the data source object. Used for informational purpose only.
* connectionAttributes
Optional. Connection attributes specific to Derby.
(Continued on next question...)