Datenbankkonfiguration mit TAA

Zur Unterstützung der DBNAME-Eigenschaft in der Schnittstelle eines TAA-Bausteins gibt es In der TAA-Registry einen Schlüssel DbConfig, in dem pro Datenbank spezifische Einträge gemacht werden können, wie Anmeldenamen und Kennwort. Dieser Schlüssel DbConfig kann, wie alle TAA-Einstellungen, benutzerübergreifend und/oder umgebungsspezifisch eingetragen werden.

Die Suchreihenfolge ist ebenfalls wie bei allen TAA-Einstellungen: Die Infrastruktur sucht zunächst unter HKEY_LOCAL_MACHINE\Software\TAA\Config, danach unter HKEY_CURRENT_USER\Software\TAA\Config nach einem Eintrag EnvSpec. Wird dieser gefunden, werden weitere Einträge in folgenden Bäumen gesucht:

  1. HKEY_LOCAL_MACHINE\Software\TAA\Env\[EnvSpec]
  2. HKEY_LOCAL_MACHINE\Software\TAA
  3. HKEY_CURRENT_USER\Software\TAA\Env\[EnvSpec]
  4. HKEY_CURRENT_USER\Software\TAA

Dabei entspricht [EnvSpec] dem zuvor unter dem Eintrag EnvSpec gefundenen Wert. Wird der Eintrag EnvSpec nicht gefunden, verhält die Infrastruktur sich wie bei der Suche nach EnvSpec.

Für jeden logischen Datenbanknamen, der als DBNAME-Eigenschaft benutzt wird, wird unter dem Schlüssel DbConfig ein neuer Schlüssel angelegt. Unter diesem Schlüssel kann ein Eintrag PhysicalName vorhanden sein, in dem die ODBC-Datenquelle für die Datenbank eingetragen ist. Ist dieser Eintrag nicht vorhanden, wird der DBNAME unverändert als Namen der Datenquelle benutzt.

Folgende Einstellungen werden unterstützt:

Name Typ Standardwert Umschreibung
PhysicalName Zeichenfolge - Name der ODBC-Datenquelle. Ist dieser Eintrag nicht vorhanden, wird der Inhalt von DBNAME unverändert als Name der Datenquelle benutzt. Ist der Eintrag vorhanden aber leer, so wird angenommen, daß die Verbindung zur Datenbank direkt über den Treiber und nicht mit einer für ODBC konfigurierte DSN stattfinden soll.
UserID Zeichenfolge - Anmeldenamen für die Datenbank. Ist dieser Eintrag nicht vorhanden, findet die Anmeldung ohne Namen und Kennwort statt.
Password Binär - Verschlüsseltes Kennwort für die Datenbankanmeldung. Diese Einstellung wird nur berücksichtigt, wenn UserID vorhanden ist und keinen Leerstring enthält.
SQLBlob DWORD <DB-abhängig>Datentyp für sog. BLOBs. Dieser ist Treiberabhängig. DB2 benutzt z.B. -98. SQL Server und Access benutzen -4. Diese Werte werden auch als Vorgabe benutzt und können ggf. über diese Registry-Einstellung übersteuert werden.
ConnectionStringExtra Zeichenfolge Hier können weitere Angaben zur Datenbankverbindung gemacht werden. Die möglichen Angaben sind abhängig vom jeweiligen DB-Treiber. Wenn die PhysicalName-Einstellung explizit auf Leerstring gesetzt wird, wird für die Datenbankverbindung davon ausgegangen, daß es keine für ODBC vorbereitete DSN gibt, und die Verbindung vollständig mit dieser ConnectionString gelegt werden soll. Die Infrastruktur wird dieser ConnectionString ggf. lediglich um die UserId und Password Angaben ergänzen.
ExecuteInternal Binär FALSE (0) Nur für Schlüsseltabellen-Verarbeitung: Wenn der Wert auf TRUE (1) gesetzt wird, versucht die Infrastruktur, Schlüsseltabellenzugriffe intern abzuhandeln.
Caching Binär FALSE (0) Nur für Schlüsseltabellen-Verarbeitung: Wenn ExecuteInternal = TRUE ist, und der Wert von Caching auf TRUE (1) gesetzt wird, speichert die TAA-Infrastruktur die Ergebnisse von Schlüsseltabellenzugriffen, um bei Folgezugriffen auf dieselben Sätze bzw. Tabellen diese ohne erneuten Datenbankzugriff bereitstellen zu können.
LoadStbcFromRes Binär FALSE(0) Nur für Schlüsseltabellen-Verarbeitung, Laden von Tabelleninhalten aus Ressourcen-DLL
LoadStbcFromResOnly Binär FALSE(0) Nur für Schlüsseltabellen-Verarbeitung, Laden von Tabelleninhalten ausschließlich aus Ressourcen-DLL

Dieser Mechanismus mit logischem Datenbanknamen kann auch für die bestehenden Datenbankeinträge (KontextDB, CtvDB, ODBCDataSourceOETab, RefDB, ReqDb und MDB_Path) benutzt werden: Die Infrastruktur schaut nach, ob mit dem gefundenen Wert für diese Einträge auch ein Schlüssel unter DbConfig vorhanden ist. Wenn ja, benutzt die Infrastruktur die Einträge dieses Schlüssels. Wird der Schlüssel nicht gefunden, verhält die Infrastruktur sich wie bisher.

faq:allg:dbconfig · Zuletzt geändert: 20.09.2022 07:33

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum