Page 1 of 1

--DataSourceHandler und DBCredentials

PostPosted: Sun Jan 23, 2011 2:32 pm
by Development@SIB


Dieser Artikel ist veraltet - Bitte verwenden Sie unser neues System

https://doc.sibvisions.com





Die einfache Integration mehrerer Datenbanken stellt mit JVx kein Problem dar. Die Konfiguration wird üblicherweise in der Konfiguration, config.xml, der Applikation durchgeführt. Dadurch kann in den LifeCycle Objekten problemlos darauf zugegriffen werden:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  <securitymanager>
    <class>com.sibvisions.rad.server.security.DBSecurityManager</class>
    <database datasource="mydb" />
  </securitymanager>
 
  <datasource>
    <db name="mydb">
      <url>jdbc:oracle:thin:@localhost:1521:mydb</url>
      <username>user</username>
      <password>password</password>
    </db>
    <db name="masterdb">
      <url>jdbc:derby://localhost:1527/masterdb</url>
      <username>master</username>
      <password>master</password>
    </db>
  </datasource>
</application>


Der Zugriff erfolgt über:

Code: Select all
IConfiguration config = SessionContext.getCurrentSessionConfig();

dba = DBAccess.getDBAccess(DBSecurityManager.getCredentials(config));
dba.open();

wobei hier die DataSource des SecurityManagers verwendet wird. Um unabhängig vom Securiy Manager auf die DataSources zuzugreifen, verwenden wir den DataSourceHandler:

Code: Select all
IConfiguration config = SessionContext.getCurrentSessionConfig();

DBCredentials cred = DataSourceHandler.createDBCredentials(config, "masterdb");

dba = DBAccess.getDBAccess(cred);
dba.open();



Tipp

Der DB Security Manager ermöglicht die Verwendung einer Standard DataSource ohne zusätzlichen Konfigurationaufwand:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  <securitymanager>
    <class>com.sibvisions.rad.server.security.DBSecurityManager</class>
  </securitymanager>
 
  <datasource>
    <db name="default">
      <url>jdbc:oracle:thin:@localhost:1521:mydb</url>
      <username>user</username>
      <password>password</password>
    </db>
  </datasource>
</application>

Der Security Manager verwendet die DataSource mit der Bezeichnung "default" als Standard Verbindung.