# Differences between the embedded client and the network client driver

The following are known differences that exist between the Derby embedded driver and the network client driver. Note that there may be undocumented differences that have not yet been identified. Some differences with the network client may be changed in future releases to match the embedded driver functionality.

- Error messages and SQLStates can differ between the network client and embedded driver. Some SQLStates may be null when using the network client, particularly for data conversion errors.
- Multiple SQL exceptions and warnings will only return the SQLState of the first exception when using the network client. The text of the additional exceptions will be appended to the text of the first exception. See Error message differences.
- Treatment of error situations encountered during batch processing with java.sql.Statement, java.sql.PreparedStatement and java.sql.CallableStatement is different. With the embedded driver processing stops when an error is encountered; with the network client driver processing continues, but an appropriate value as defined in the java.sql.Statement api is returned in the resulting update count array.
- To use an encrypted user id and password, you need to have the IBM's Java Cryptography Extension (JCE) Version 1.2.1 or later.

Parent topic: Differences between running Derby in embedded mode and using the Network Server
Related concepts
Updatable Result Sets
User authentication differences
Differences in JDBC 3.0 methods
Differences using the Connection.setReadOnly method
Related reference
Error message differences