# DataSource classes

These classes are all related to Derby's implementation of javax.sql.DataSource and related APIs.

For more information, see JDBC reference, "Classes that pertain to resource managers" in the Derby Developer's Guide, and "Accessing the Network Server by using a DataSource object" in the Derby Server and Administration Guide.

Embedded environment, for applications using Java SE 8 Compact Profile 2:

- org.apache.derby.jdbc.BasicEmbeddedDataSource40
- org.apache.derby.jdbc.BasicEmbeddedConnectionPoolDataSource40
- org.apache.derby.jdbc.BasicEmbeddedXADataSource40

Embedded environment, for applications using all other Java SE versions:

- org.apache.derby.jdbc.EmbeddedDataSource
- org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource
- org.apache.derby.jdbc.EmbeddedXADataSource

Client-server environment, for applications using Java SE 8 Compact Profile 2:

- org.apache.derby.jdbc.BasicClientDataSource40
- org.apache.derby.jdbc.BasicClientConnectionPoolDataSource40
- org.apache.derby.jdbc.BasicClientXADataSource40

Client-server environment, for applications using all other Java SE versions:

- org.apache.derby.jdbc.ClientDataSource
- org.apache.derby.jdbc.ClientConnectionPoolDataSource
- org.apache.derby.jdbc.ClientXADataSource

Applications using Java SE 8 Compact Profile 2 must use the DataSource classes whose names begin with "Basic". Applications using Java SE 8 Compact Profile 3 can use the classes whose names begin with "Basic" if the application does not use the JNDI API, but should normally use the ordinary DataSource classes.

Parent topic: JDBC implementation classes
Related reference
JDBC drivers