# DataSource classes

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

For more information, see JDBC reference, JDBC support for Java SE 8 Compact Profiles, "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