infra:NET User
 
×
2.3.2.5.5 Sektion [DS_...]
Zu jeder Datenquelle muss eine eigene Sektion in der INI-Datei existieren, in der alle zu der jeweiligen Datenquelle gehörenden Informationen eingetragen werden. Der Name der jeweiligen Sektion wird aus dem Kürzel „DS_“ und dem eindeutigen Ident der Datenquelle gebildet, also z.B. [DS_ECHT] für die Datenquelle mit den Unternehmensdaten.
In jeder Sektion zu einer Datenquelle sind folgende Einträge möglich:
AdminMsgUser = netuser
Hier kann der Name eines Netzwerkusers eingetragen werden, der in schwerwiegenden Fehlersituationen benachrichtigt werden soll. Treten z.B. bei der automatischen Vergrößerung Probleme auf, erhält der hier angegebene Netzwerkbenutzer eine Nachricht auf den Bildschirm.
Fehlt diese Angabe oder ist der angegebene Benutzer im Netzwerk nicht bekannt, werden keine Nachrichten verschickt.
Beispiel:
AdminMsgUser=Administrator
Beispiel für eine Admin-Nachricht:
INFRA Datenbank Server:
ACHTUNG! Automatische Vergrößerung terminierte mit Fehler 43 (Details im Serverprotokoll)!
Erneuter Versuch in 30 Sekunden...
AutoIncreaseRetry = seconds
Dieser Wert gibt an, nach wieviel Sekunden der Datenbankserver eine erfolglose automatische Vergrößerung einer Tabelle erneut versuchen soll. Ist die automatische Vergrößerung zum Beispiel mangels Plattenplatz fehlgeschlagen, erhält der Administrator so die Möglichkeit zu reagieren und ggf. Platz zu schaffen, ohne die Arbeit der infra-Benutzer zu beeinträchtigen.
Der Wert „0“ schaltet die erneuten Vergrößerungsversuche ab.
Beispiel:
AutoIncreaseRetry=30
AutoTableIncrease = Yes|No
Dieser Schalter gibt an, ob die automatische Tabellenvergrößerung für diese Datenquelle aktiviert (Yes) werden soll oder nicht. Die automatische Tabellenvergrößerung wird gestartet, wenn beim Einfügen eines Datensatzes in eine Tabelle vom Datenbankserver erkannt wird, dass die betroffene Tabelle keine weiteren Datensätze aufnehmen kann. Der Wert für die Anzahl der durch die automatische Vergrößerung zu schaffenden freien Datensätze wird mit dem infra-Programm „Kapazitätsermittlung, Dateien definieren (920)“ je Tabelle eingestellt. Stellt der Datenbankserver beim Versuch einer automatischen Vergrößerung fest, dass der zur Verfügung stehende Plattenplatz für die bevorstehende Vergrößerung nicht ausreicht, wird die Tabelle um eine entsprechend geringe Zahl von den Datensätzen vergrößert. Der Administrator (siehe Eintrag „AdminMsgUser“) bekommt in diesem Fall eine Warnung als Netzwerknachricht zugestellt.
In der Protokolldatei sbasesrv.log wird die automatische Vergrößerung protokolliert (als Verursacher wird „TableIncrease" vermerkt). 
Beispiel:
AutoTableIncrease=Yes
BCKAutoRestore = Yes|No                 (Default: No)
Bei „Yes“ wird eine vorhandene Sicherungskopie (BCK-Datei im TMP-Verzeichnis), die durch eine unterbrochene automatische Vergrößerung einer Datenbankdatei zurückgeblieben ist, automatisch zurückgesichert, wenn die Sicherungskopie älter als die Datenbankdatei ist.
Vorsicht!
Falsche Anwendung und manuelle Dateimanipulationen können bei dieser Einstellung zu Datenverlusten führen!
Der Datenbank-Administrator (AdminMsgUser) erhält dabei die Nachricht:
“ACHTUNG! Sicherungskopie TEIL.BCK gefunden! Evtl. trat ein schwerwiegender Fehler bei einer automatischen Vergrößerung der Datei TEILE.DAT auf! Die Datenbankdatei wird mit der Sicherungskopie wiederhergestellt.“
Clients werden über diesen Vorgang nicht informiert und können ohne Beeinträchtigung weiterarbeiten.
Bei „No“ wird die Sicherungskopie auch dann nicht automatisch zur Wiederherstellung verwendet, wenn sie älter als die Datenbankdatei ist.
Der Datenbank-Administrator erhält dann die Nachricht:
“ACHTUNG! Sicherungskopie TEIL.BCK gefunden! Evtl. trat ein schwerwiegender Fehler bei einer automatischen Vergrößerung der Datei TEILE.DAT auf! Die Sicherungskopie ist älter als die Datenbankdatei und kann vermutlich zur Wiederherstellung verwendet werden. Bitte prüfen Sie die Sicherungskopie und ersetzen Sie damit ggf. die Datenbankdatei oder löschen Sie die Sicherungskopie.“
Clients bekommen bei jedem Zugriffsversuch auf die betroffene Datenbankdatei die Meldung „Datenbankdatei defekt.“. Der Zustand lässt sich nur durch eine manuelle Behandlung der Sicherungskopie (rücksichern, löschen,...) auflösen.
CheckOnWrite = Yes
Dieser Eintrag (wirksam ab infra 5.7.0 K4) schaltet zu Diagnosezwecken eine erweiterte Prüfung beim Schreiben und Aktualisieren von Datensätzen ein. Durch nochmaliges Lesen wird geprüft, ob Index und Datenteil korrekt Aktualisiert wurden. Wird eine Abweichung festgestellt, erscheint auf der Console und dem Bildschirm des als Administrator eingetragenen Benutzers folgende Meldung:
"Fehlerhafte Daten in der Datenbank! Bei der letzten Transaktion (Insert/Update) wurde ein Fehler in Tabelle ... bei ISN ... festgestellt! Informieren Sie umgehend den Softwareservice. Weitere Details wurden protokolliert."
Zusätzlich wird in der LOG-Datei (sbasesrv.LOG) folgender Eintrag protokolliert:
„Insert/Update: Datensatz in der Datenbank fehlerhaft! Indexeintrag passt nicht zum Datensatz! Table=... ISN=... IndexKey=... RecordKey=... DBRecord=...“
Hinweis: Diese Einstellung sollte nur zu Diagnosezwecken aktiviert werden, da sonst die Performance des Datenbankservers unnötig reduziert wird. 
DBPath = Datenverzeichnis
Mit diesem Eintrag wird auf das Verzeichnis verwiesen, in dem sich die Datenbank-Dateien für diese Datenquelle befinden. Der infra:NET Server verwaltet alle Tabellen, die in dem angegebenen Verzeichnis gefunden werden.
Beispiel:
DBPATH=D:\INFRADB\DATEN\D
IgnoreDuplicateDBSession = Yes|No                              
Mit diesem Schalter wird dem Datenbankserver erlaubt, eine bereits registrierte Datenbankverbindung selbständig auszulöschen (Yes), wenn die gleiche Datenbankverbindung erneut hergestellt wird. Diese Situation kann dann auftreten, wenn ein Datenbankclient z.B. aufgrund eines Stromausfalls nicht ordnungsgemäß von der Datenbank getrennt wurde. Das Verhalten entspricht dem „Autorepair“ der klassischen infra-Datenbank. Ist dieser Schalter deaktiviert (No), so wird bei der zuvor beschriebenen Situation eine Neuverbindung des betroffenen Datenbankclients verhindert.
Beispiel:
IgnoreDuplicateDBSession=Yes 
IgnoreODBCErrors = Yes|No
Dieser Schalter bestimmt, ob bei der Online-Replikation auftretende ODBC-Fehler als schwere Fehler an die infra-Clients weitergegeben (No) oder ignoriert (Yes) werden sollen. Selbst wenn die ODBC Fehler ignoriert werden, findet unabhängig davon ein Eintrag im Server-Protokoll sbasesrv.log statt (als Verursacher wird „ODBC“ vermerkt).
Beispiele:
IgnoreODBCErrors=No 
IntruderDisconnect = n           (Default: 0)
Unter ungünstigen Bedingungen kann eine für ungültig erklärte Sitzung (z.B. bei nicht eindeutiger Vergabe von Stations- und Sessionnummer) weiter auf den Server zugreifen, so dass parallel über die gleiche interne Sitzung gearbeitet werden kann. Erst wenn eine der beiden Sitzungen durch den Anwender beendet wird, führt dies zu einem Fehler (unbekannte Sitzungsnummer). Beim Auftreten einer derartigen Situation wird in der Datei sBASEsrv.LOG folgender Hinweis ausgegeben:
"Es wurde ein unauthentifizierter Zugriff auf eine Datenquelle versucht (station/session auf computer). Tritt diese Meldung häufiger auf, überprüfen Sie dringend die Konfiguration (Identifizierung) Ihrer Arbeitsplätze. In offenen LANs oder bei Verbindungen über das Internet kann dies auf einen unautorisierten Zugriffsversuch hindeuten."
Zusätzlich erscheint im der Windows-Ereignisanzeige "Intruder detected or duplicate station/session (station/session@computer)".
Mit der Einstellung "IntruderDisconnect" kann angegeben werden, nach wieviel (ungültigen) Zugriffen die betroffenen Sitzungen vom Server blockiert werden sollen. Die für ungültig erklärten Sitzungen können dann nicht weiter auf den Server zugreifen und erhalten sofort beim nächsten Zugriffsversuch die Meldung "Unbekannte Sitzungsnummer". Zusätzlich wird auf der Serverkonsole und in der LOG-Datei des Servers ein entsprechender Hinweis angezeigt ("Aus Sicherheitsgründen wird die Sitzung station/session auf computer beendet.").
Durch die Angabe von "0" werden die betroffenen Sitzungen nicht blockiert (nicht empfohlen).
LockLCD = Yes|No                              
Um zu verhindern, dass früher versehentlich mit der zeichenorientierten infra-Version oder über einen klassischen Datenbanktreiber (sdbcllcd.dll) auf diese Datenquelle zugegriffen wurde, während der infra-Datenbankserver mit dieser Datenquelle arbeitet, konnte dieser Schalter aktiviert werden (empfohlen).
Achtung
Datenverlust! Wenn dieser Schalter deaktiviert wird, kann in infra:NET unkontrolliert gleichzeitig grafisch und zeichenorientiert gearbeitet werden. In diesem Fall kann Datenverlust eintreten bzw. die Daten können defekt werden.
Beispiel:
LockLCD=Yes
LoginCaseInsensitive = Yes; (Default = No)
Gilt nur für Version < 7.7! Ab Version 7.7 ist die Benutzeranmeldung immer case-insensitiv! Windowskonform ist eine Umstellung der Benutzeranmeldung auf case-insensitive Benutzernamen (ohne Berücksichtigung von Groß-/Kleinschreibung) für infra:NET im Client-/Server-Betrieb möglich. Mit der datenquellenabhängigen Einstellung „LoginCaseInsensitive=Yes“ wird die case-insensitive Benutzeranmeldung aktiviert. Nach der Aktivierung werden die alle infra:NET Benutzernamen in der Datenbank auf Kleinbuchstaben umgestellt. Das passiert automatisch bei der ersten Verwendung einer Datenquelle nach der Aktivierung des Eintrags „LoginCaseInsensitive“, zum Beispiel durch Öffnen des infra:NET Servermanagers oder Anmeldung an einem infra:NET Client. Die Umstellung der Benutzernamen wird in der infraServer.Default.LOG protokolliert. Entstehen durch die Umwandlung der Buchstaben doppelte Benutzernamen oder Benutzergruppen, werden die jeweiligen Namen durch Anfügen einer laufenden Nummer an den kleingeschriebenen Benutzer- bzw. Gruppennamen eindeutig gemacht. Namen, die durch Anfügen der Nummer länger als 15 Zeichen würden, werden vorher gekürzt. Die neu vergebenen Benutzer- und Gruppennamen werden in der infraServer.Default.LOG aufgeführt.
Nach der Umstellung kann sich jeder infra:NET Benutzer mit seinem (evtl. geänderten) Benutzernamen ohne Berücksichtigung der Groß-/Kleinschreibung anmelden. In der infra:NET Benutzerverwaltung können anschließend ausschließlich Benutzer- und Gruppennamen in Kleinbuchstaben angelegt werden. Ausnahme ist der Benutzer „Administrator“ und die Gruppe „Administratoren“. Die Schreibweise ist hier vom System vorgegeben – bei der Anmeldung aber (auch bisher schon) case-insensitiv.
Durch eine erneute Deaktivierung der Einstellung „LoginCaseInsensitive“ wird zwar das alte Verhalten bei der Anmeldung wieder aktiviert, die Benutzernamen bleiben aber in der Datenbank in Kleinbuchstaben gespeichert.
MaxJournalRecs = Sätze                                (Default = 0)
Angabe eines Datensatzlimits für das infra:NET Datenbank-Journal, um zu verhindern, dass die Datenbankdatei SYSDBJOURNAL (999) überläuft. Das maximale Limit beträgt 4.294.967.295 Datensätze. Mit 0 wird die Überwachung deaktiviert („unattended“ wird in LOG vermerkt).
Sobald das Limit erreicht wird, werden mit jeder neuen geschriebenen Änderung die jeweils ältesten Änderungseinträge aus dem Datenbank-Journal gelöscht (auch aus der ggf. replizierten SQL-Datenbank).
Wichtig:
Für die Aktivierung des Limits wird der Zugriffspfad 4 (Datum+Uhrzeit) in der Datei SYSDBJOURNAL benötigt.
Der Zugriffspfad wird mit infra:NET Update 7.6 automatisch erstellt. Wird das Limit aktiviert, ohne die jeweilige Datenquelle entsprechend auf Version 7.6 zu aktualisieren, wird jede Anmeldung an dieser Datenquelle mit einem Fehlerhinweis abgelehnt.
MonitorTableXY = 1|2
Für jede Datei (XY ist der Index der Datei) kann hinterlegt werden, ob ein Logbuch über verändernde Datenbankoperationen geführt werden soll. Das Logbuch wird im Datenverzeichnis mit dem Dateinamen laut Data Dictionary und der Extension "MON" abgelegt. Z.B. bewirkt der Eintrag "MonitorTable41:1", dass eine Protokolldatei KUNDE.MON (KUNDE.DAT ist die Datei mit dem Index 41) gepflegt wird. (Für Dateien mit einem einstelligen Dateiindex darf keine führende Null für den Eintrag verwendet werden, also nicht z. B. "MonitorTable06", sondern "MonitorTable6".) Beim Wert "1" wird der ganze Datensatz protokolliert, beim Wert "2" nur die Schlüsselfelder.
Die Protokolldatei hat den folgenden Aufbau:
Aktion (z.B. INSERT)|Datum+Uhrzeit|Satz/Schlüssel|Benutzer|Menü|Returncode
Achtung:
Die Dateien können sehr schnell wachsen und müssen von Zeit zu Zeit wieder gelöscht oder verkleinert werden. Im Allgemeinen sollte das Logbuch nur zu Diagnosezwecken eingesetzt werden.  
Bitte beachten Sie auch eine weitere Monitor-Funktion, siehe infra-Systeminformationen (ANWENDER.HLP) - 3.2.6 Aufbau Treiber-INI zu SDBFILE.DLL (z.B. TSSPROT.INI)
NoAutoDisconnect = Yes; (Default = No)
Infra:NET Sitzungen, die nicht mehr aktiv sind, weil zum Beispiel der betroffene Arbeitsplatz-PC ausgeschaltet wurde oder nicht mehr erreichbar ist oder die Anwendung nicht mehr ordnungsgemäß funktioniert, werden vom infra:NET Server nach Überschreitung eines Timeouts automatisch von der Datenbank getrennt. Datenbankdateien und andere Server Ressourcen, die von der jeweiligen Sitzung verwendet wurden, werden dadurch freigegeben.
Der maximale Timeout ergibt sich aus der in der SIBPPS.INI konfigurierten Rückmeldefrequenz in Sekunden ([GENERAL]/ServerTick=…) multipliziert mit 3,5. Der Mindest-Timeout des infra:NET Servers beträgt standardmäßig 3 Minuten – kann aber über die Einstellung „GlobalSessionTimeout“ geändert werden.
Mit der Server-Einstellung „NoAutoDisconnect=Yes“ kann die automatische Sitzungstrennung je Datenquelle deaktiviert werden.
PasswordBlankAllowed = Yes|No                   (Default = No)
Im Standard werden leere Kennwörter nicht mehr erlaubt. Über den Eintrag kann diese Restriktion entschärft werden. Es erscheint dann nur noch eine Warnung, sobald ein Benutzer ein leeres Kennwort definiert.
Die Einschränkung gilt nicht bei der Vergabe von Kennwörtern über die Benutzerverwaltung in der infra:NET Server Managementkonsole. Außerdem wird ein leeres Kennwort temporär zugelassen, wenn das Administratorkennwort über einen Freischaltcode zurückgesetzt wurde.
PasswordDuration = 365                                (Default = 0)
In der Benutzerverwaltung kann je Benutzerkonto definiert werden, ob ein Kennwort vom jeweiligen Benutzer geändert werden darf, bei der nächsten Anmeldung geändert werden muss oder nie abläuft. Um regelmäßig eine Kennwort-Änderung zu erzwingen, kann je Datenquelle eine maximale Kennwort-Gültigkeit in Tagen (PasswordDuration=…) und eine Vorwarnzeit in Tagen (PasswordWarning=…) hinterlegt werden.
Benutzer werden bei der Anmeldung darauf hingewiesen, ob das Kennwort geändert werden muss oder wie lange (während der Vorwarnzeit) das Kennwort noch gültig ist.
Zusätzlich kann in der Benutzerverwaltung der infra:NET Server Management Konsole über eine Bedienung für alle Konten einer Datenquelle auf einen Schlag die Vergabe neuer Kennwörter erzwingen werden. 
PasswordHistory = 3                          (Default = 0)
Mit der infraServer-INI-Einstellung „PasswordHistory“ kann je Datenquelle hinterlegt werden, wie viele verwendete Kennwörter sich das System je Benutzerkonto merken soll, um zu verhindern, dass diese Kennwörter bei einer geforderten Kennwort-Änderung erneut benutzt werden. Im Standard wird keine Kennwort-Historie verwendet.
PasswordWarning = 7                        (Default = 0)
Vorwarnzeit in Tagen für ablaufende Kennwörter (siehe unter „PasswordDuration“).
PrimaryServer = Yes|No                              
Dieser Schalter bestimmt, ob diese Datenquelle im Primary Server Modus (Yes) oder im Backup Server Modus (No) verwaltet werden soll. Im Primary Server Modus werden auf dieser Datenquelle über diesen Server sowohl lesende als auch verändernde Operationen ausgeführt. Der Backup Server Modus lässt nur verändernde Operationen (Insert, Update, Delete) für diese Datenquelle auf diesem Server zu, hierbei wird ein zweiter Computer benötigt. Falls ein zweiter Primary Server installiert wird, kann die infra-Datenbank auf diese beiden Computer aufgeteilt werden, indem die Datenbankdateien so gelöscht werden, damit sie nicht doppelt, sondern nur noch einfach vorhanden sind.
Beispiel:
PrimaryServer=Yes
SingleUser = Yes|No
Dieser Schalter bestimmt, ob diese Datenquelle im Einzelbenutzermodus betrieben werden soll (Yes). In diesem Fall wird nur ein einziger infra-Client zugelassen. (Derzeit im Standard nicht verfügbar.)
Beispiel:
SingleUser=No
Die folgenden Einträge sind seit Version 7 in die SQL-Konfigurationsdatei „sbaseSQL.ini“ ausgelagert.
OnlineReplication = Yes|No
Dieser Eintrag ist ab Version infra 7 nicht mehr aktiv (siehe sBaseSQL.INI).
Mit diesem Schalter kann die serverbasierte Online-Replikation für diese Datenquelle aktiviert (Yes) werden. Bei eingeschalteter Online-Replikation werden alle verändernden Datenbankoperationen vom infra-Datenbankserver an eine ODBC-Datenquelle und somit z.B. an eine SQL-Datenbank weitergegeben.
Die serverbasierte Online-Replikation darf NICHT gleichzeitig mit der clientbasierten Online-Replikation betrieben werden. Die clientbasierte Online-Replikation wird über den Schalter „OnlineReplication“ in der INI-Datei des Replikations-Datenbanktreibers (sdbrepl.dll) aktiviert bzw. deaktiviert. Der Replikations-Datenbanktreiber selbst sollte nicht deaktiviert werden (Eintrag in SIBDB.INI), da sonst keine Total-Replikation durchgeführt werden kann.
Bis infra 5.8.0 musste vor einer Total-Replikation die serverbasierte Online-Replikation ausgeschaltet werden, nach der Total-Replikation konnte sie wieder aktiviert werden. Ab 5.8.1 muss die serverbasierte Online-Replikation vor einer Total-Replikation nicht mehr deaktiviert werden.
Beispiel:
OnlineReplication=Yes
ConnectionString = “string“
Dieser Eintrag ist ab Version infra 7 nicht mehr aktiv (siehe sBaseSQL.INI).
Dieser Eintrag wird bei eingeschalteter Online-Replikation für den Aufbau der Verbindung zu einer ODBC-Datenquelle verwendet.
Der ConnectionString enthält den Namen der zu verwendenden ODBC-Datenquelle (DSN=datenquelle), den für die ODBC-Anmeldung zu verwendenden Benutzer (UID=username) und das dazugehörige Kennwort (PWD=passwort).
Beispiel:
ConnectionString=“DSN=infrasql;UID=sa;PWD=geheim“
ReplicateTables = [ALL|list|range]
Dieser Eintrag ist ab Version infra 7 nicht mehr aktiv (siehe sBaseSQL.INI).
Bei eingeschalteter Online-Replikation werden nur die hier angegebenen Tabellen online repliziert. Mit „ALL“ werden alle replikationsfähigen infra-Tabellen repliziert. Durch Kommata getrennt können einzelne Tabellenindizes oder Bereiche von Tabellenindizes angegeben werden.
Beispiele:
ReplicateTables=ALL
ReplicateTables=6-11,27,105