Knut Anders Hatlen wrote:
You shouldn't load the client driver unless your application uses jdbc:derby://localhost/mydb. The reason why the client driver seems to work in your case, is that the server already has loaded the embedded driver. So the code that runs inside the same JVM as the server should use jdbc:derby:mydb and not load the client driver, whereas the external scripts should load the client driver and use jdbc:derby://localhost/mydb.
Unfortunately it's not that simple. If you use the embedded driver with STRONG_PASSWORD_SUBSTITUTE_SECURITY & securityMechanism=8, you get a NPE is you open, close and then reopen the database - which is necessary if you want to be sure that the static database properties you set are used.
This all seems as fragile as hell, to be honest... -- Alan Burlison --
