On Sat, Aug 12, 2017 at 9:47 AM, Steinar Bang <sb@dod.no> wrote:

Ok, I interpret this answer to be that there shouldn't be any problems
with pulling the embedded driver and the client driver into the same
java program?

Yes, that's my belief.

You might experience higher-level behavior differences. There have been, in the past, subtle differences between the way the two drivers behave, so you might encounter such differences (e.g., https://issues.apache.org/jira/browse/DERBY-2453). Those known differences are cataloged in the Derby JIRA, so you could search there if you need more details.

But as far as including both JDBC drivers into the same JVM, and opening multiple connections, some with the one driver and some with the other, I believe that should work fine.

You can't simultaneously access the identical physical database with multiple connections this way, of course, because your embedded connections to a particular physical database on your machine will lock out the Derby Network Server's attempts to provide connections to that same database (and vice versa).

So either connect to different databases with these different driver types, or close your connections (and shut down the embedded engine) prior to opening client connections to a Derby Network Server serving the same database.

Anyway, yes, please try to figure out if you have any CLASSPATH conflicts, and please do let us know the results of your investigations!