~~NOTRANS~~
~~Title: Database Connection via JNDI~~
If you use the [[jvx:server:security:dbsecman|DBSecurityManager]] for authentication, or if you use a database in your application, the [[jvx:server:storage:datasourcehandler_dbcredentials|configuration]] is in your applications config.xml.
The configuration is plain xml, and it's possible to [[jvx:server:security:config_encrypt|use encryption]]. It's also possible to read the [[jvx:common:setup:zones|configuration via JNDI]].
Another option is to use JNDI to create a database connection. In this case, you should set the JDBC URL to something like this:
...
com.sibvisions.rad.server.security.DBSecurityManager
java:/comp/env/jvx/myapp/config/db
...
The JNDI resource can be an instance of ''DBAccess'', ''IConnectionPool'', ''java.sql.Connection'' or ''javax.sql.DataSource''.
The application code, e.g., in your Session LCO:
protected DBAccess getDBAccess() throws Exception
{
DBAccess dba = (DBAccess)get("dBAccess");
if (dba == null)
{
DBCredentials dbcred = DBSecurityManager.getCredentials(SessionContext.getCurrentSessionConfig());
//no credentials -> no database access possible (should not happen, only if configuration is not finished)
if (dbcred != null)
{
dba = DBAccess.getDBAccess(dbcred);
dba.open();
put("dBAccess", dba);
}
}
return dba;
}
will work without changes.