SET DATABASE PARAMETER

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11.3 (Geändert)


SET DATABASE PARAMETER ({Tabelle; }Selector; Wert)

ParameterTypBeschreibung
TabelleTabelleTabelle zum Setzen der Parameter,
ohne Angabe Standardtabelle
SelectorLange GanzzahlCode des zu ändernden Parameters
der Datenbank
WertLange GanzzahlWert des Parameters

Beschreibung

Mit dem Befehl SET DATABASE PARAMETER ändern Sie interne Parameter der 4D Datenbank.

Selector bezeichnet den Code der zu ändernden Parameter der Datenbank. 4D bietet unter dem Thema Datenbank Parameter vordefinierte Konstanten. Nachfolgende Liste zeigt die Konstanten, ihre Reichweite und gibt an, ob Änderungen zwischen zwei Sitzungen beibehalten werden:

KonstanteWertReichweiteÄnderungen
Seq Order Ratio1***Selektor deaktiviert***-
Seq Access Optimization2***Selektor deaktiviert***-
Seq Distinct Values Ratio3***Selektor deaktiviert***-
Index Compacting4***Selektor deaktiviert***-
Seq Query Select Ratio5***Selektor deaktiviert***-
Minimum Web Process64D lokal, 4D Server (*)Ja
Maximum Web Process74D lokal, 4D Server (*)Ja
Web Conversion Mode8Aktueller Prozess-
Database Cache Size94D Anwendung (*) (**)-
4D Local Mode Scheduler104D Anwendung (*)Ja
4D Server Scheduler114D Anwendung (*)Ja
4D Remote Mode Scheduler124D Anwendung (*)Ja
4D Server Timeout134D Anwendung, wenn Wert positiv (***)Ja
4D Client Timeout144D Anwendung, wenn Wert positiv (***)Ja
Port ID154D Developer, 4D Server (*)-
IP Address to listen164D Developer, 4D Server (*)Ja
Character set174D Developer, 4D Server (*)Ja
Max Concurrent Web Processes184D Developer, 4D Server (*)Ja
Client Minimum Web Process19Alle 4D remote Rechner (*)Ja
Client Maximum Web Process20Alle 4D remote Rechner (*)Ja
Client Maximum Web requests size21Alle 4D remote Rechner (*)Ja
Client Port ID22Alle 4D remote Rechner (*)Ja
Client IP Address to listen23Alle 4D remote Rechner (*)Ja
Client Character set24Alle 4D remote Rechner (*)Ja
Client Max Concurrent Web Proc25Alle 4D remote Rechner (*)Ja
Cache writing mode26***Selektor deaktiviert***-
Maximum Web requests size274D lokal, 4D Server (*)Ja
4D Server Log Recording284D Server, 4D remote (*)-
Web Log Recording294D lokal, 4D Server (*)Ja
Client Web Log Recording30Alle 4D remote Rechner (*)Ja
Table Sequence Number314D AnwendungJa
Real Display Precision324D Anwendung-
TCP_NODELAY334D Anwendung (*)-
Debug Log Recording344D Anwendung (*)-
Client Server Port ID35Datenbank (*)Ja
WEDD Signature36Datenbank (*)Ja
Invert Objects37Datenbank (*)Ja
HTTPS Port ID394D lokal, 4D Server (*)Ja
Client HTTPS Port ID40Alle 4D remote Rechner (*)Ja
Unicode mode 41Datenbank (*)Ja
Temporary memory size424D Anwendung (*)-
SQL Autocommit43Datenbank (*) Ja
SQL Engine Case Sensitivity44Datenbank (*) Ja
Client Log Recording454D remote machine(*)-
Query By Formula On Server46Current table and process-
Order By Formula On Server47Current table and process-
Auto Synchro Resources Folder484D remote Rechner(*)-
QUERY BY FORMULA Joins49Aktueller Prozess(*)-
HTTP Compression Level504D Anwendung (*)-
HTTP Compression Threshold514D Anwendung (*)-

(*) In diesem Fall wird der Parameter Tabelle ignoriert.

(**) Dieser Selektor kann nur gelesen werden (siehe Funktion Get database parameter).

(***) Ist Wert negativ, gilt die Einstellung lokal für den aktuellen Prozess und wird für die nächste Anfrage erneut gesetzt.

Wert bezeichnet den Wert des Parameters. Der übergebene Wert richtet sich nach dem Parameter, den Sie ändern wollen. Für jeden Selektor sind folgende Werte möglich:

Selector = 1 (Seq Order Ratio)

Dieser Selektor wurde deaktiviert, da er eine Funktionsweise betrifft, die in 4D v11 SQL optimiert wurde.

Selector = 2 (Seq Access Optimization)

Dieser Selektor wurde deaktiviert, da er eine Funktionsweise betrifft, die in 4D v11 SQL optimiert wurde.

Selector = 3 (Seq Distinct Values Ratio)

Dieser Selektor wurde deaktiviert, da er eine Funktionsweise betrifft, die in 4D v11 SQL optimiert wurde.

Selector = 4 (Index Compacting)

Dieser Selektor wurde deaktiviert, da er eine Funktionsweise betrifft, die in 4D v11 SQL optimiert wurde.

Selector = 5 (Seq Query Select Ratio)

Dieser Selektor wurde deaktiviert, da er eine Funktionsweise betrifft, die in 4D v11 SQL optimiert wurde.

Selector = 6 (Minimum Web Process)

Werte: 0 -> 32,767

Beschreibung: Mindestanzahl der zu unterhaltenden Web Prozesse im nicht kontextuellen Modus mit 4D im lokalen Modus und 4D Server. Standardmäßig ist der Wert 0 (siehe unten).

Selector = 7 (Maximum Web Process)

Werte: 0 -> 32,767

Beschreibung: Höchstanzahl der zu unterhaltenden Web Prozesse im nicht kontextuellen Modus mit 4D im lokalen Modus und 4D Server. Standardmäßig ist der Wert 10.

Um denWeb Server reaktivierbar zu machen, verzögert 4D im nicht kontextuellen Modus die Web Prozesse um 5 Sekunden und verwendet sie wieder, um mögliche spätere HTTP Anfragen auszuführen. In Bezug auf die Performance ist dies vorteilhafter als pro Anfrage einen neuen Prozess zu erstellen. Sobald ein Web Prozess wieder verwendet wird, wird er erneut um 5 Sekunden verzögert, außer die Höchstanzahl der Web Prozesse ist bereits erreicht. Dann wird er abgebrochen. Erhält ein Web Prozess nicht binnen 5 Sekunden eine Anfrage, wird er abgebrochen. Mit diesen Parametern können Sie je nach Anzahl der Anfragen, nach verfügbarem Speicher, etc. einstellen, wie Ihr Web Server arbeitet.

Selector = 8 (Web Conversion Mode)

Werte: = 0, 1, 2 oder 3

0 = (Standardmodus) Konvertierung in Format HTML 4.0, wenn vom Browser zugelassen. Sonst Format HTML 3.2 + Array.

1 = Konvertierungsmodus 6.0.x

2 = Konvertierungsmodus 6.5.x

3 = Konvertierung in Format HTML 4.0 + CSS-P (ab Version 6.5.2)

Beschreibung: Konvertierungsmodus von 4D Formularen für das Web mit 4D im lokalen Modus und 4D Server. 4D Web Server verwendet zum Generieren von HTML Seiten standardmäßig Cascading Stylesheets (CSS1), da diese den in 4D angezeigten Formularen ähnlich ist. Formulare aus Datenbanken, die mit älteren 4D Versionen erstellt wurden, werden jedoch unter Umständen nicht korrekt konvertiert. Zur Wahrung der Kompatibilität können Sie mit dem Befehl SET DATABASE PARAMETER den entsprechenden Konvertierungsmodus wählen.

Dieser Modus wird nur für den Prozess (Web Kontext) gesetzt, in dem SET DATABASE PARAMETER aufgerufen wurde. Sie können ihn in der Datenbankmethode On Web Connection direkt vor dem Anzeigen eines einzelnen Formulars aufrufen, oder um die Kompatibilität aller Formulare der Datenbank sicherzustellen. Wird der Befehl außerhalb des kontextuellen Modus oder eines Web Prozesses aufgerufen, hat er keine Wirkung.

Hinweis: Mit der Funktion Get database parameter können Sie auch Selector = 9 (Database Cache Size) verwenden. Weitere Informationen finden Sie in der Beschreibung zu dieser Funktion.

Selector = 10 (4D Local Mode Scheduler)

Selector = 11 (4D Server Scheduler):

Selector = 12 (4D Remote Mode Scheduler):

Werte: Für diese drei Selektoren wird der Parameter Wert hexadezimal ausgedrückt (0x00aabbcc):

aa = Mindestanzahl Ticks pro Systemaufruf (0 bis 100 einschließlich).

bb = Maximalanzahl Ticks pro Systemaufruf (0 bis 100 einschließlich).

cc = Anzahl Ticks zwischen Systemaufruf (0 bis 20 einschließlich).

Liegt einer der Werte außerhalb des Bereichs, setzt 4D ihn auf sein Maximum. Im Parameter Wert können Sie einen der vordefinierten Standardwerte übergeben:

Wert = -1: Höchste Priorität für 4D,

Wert = -2: Durchschnittliche Priorität für 4D,

Wert = -3: Minimale Priorität für 4D.

Beschreibung: Über diesen Parameter können Sie dynamisch interne Aufrufe von 4D an das Betriebssystem setzen.Der Wert wird je nach Selector gesetzt für:

- 4D im lokalen Modus, wenn der Befehl von einer 4D Einzelplatzanwendung aufgerufen wird (Selector 10).

- 4D Server, wenn der Befehl von 4D Server aufgerufen wird (Selector 11).

- 4D im remote Modus, wenn der Befehl von einem an 4D Server angemeldeten 4D aufgerufen wird (Selector 12).

Hinweis: Die Funktionsweise von Selector 12 (4D Remote Mode Scheduler) ist unterschiedlich, je nachdem, ob der Befehl SET DATABASE PARAMETER auf dem Server-Rechner oder den Client-Rechner ausgeführt wird:

- Wird der Befehl auf dem Server-Rechner ausgeführt, gilt der neue Wert für alle Client-Rechner, die sich danach am Server anmelden.

- Wird der Befehl auf dem Client-Rechner ausgeführt, gilt der neue Wert sofort für diesen Client sowie für alle Client-Rechner, die sich danach am Server anmelden.

Auf diese Weise können Sie für jeden Client-Rechner den Vorrang dynamisch und individuell verwalten: Sie führen den Befehl zuerst auf dem Client-Rechner aus, den Sie gerade einrichten und dann ein zweites Mal mit dem Standardwert auf dem Server-Rechner. Er gilt dann für alle Client-Rechner, die sich anschließend an den Server anmelden.

Diese Funktionsweise gilt in 4D ab den Versionen 6.8.6, 2003.3 und 2004.

Warnung: Eine unpassende Konfiguration dieser Selectoren kann die Performance der Anwendung erheblich beeinträchtigen. Sie sollten die Standardwerte nur bei genauer Kenntnis aller Faktoren verändern.

Selector = 13 (4D Server Timeout):

Damit ändern Sie den Wert zum Abschalten des 4D Servers.

Der Standardwert zum Abschalten des 4D Servers wird auf dem Server Rechner in den Einstellungen der Datenbank auf der Seite "Client/Server:Konfiguration" festgelegt.

Mit dem Selector 4D Server Timeout legen Sie im dazugehörigen Parameter Wert ein neues Timeout in Minuten fest. Das ist besonders hilfreich bei Operationen auf dem Client, die den Rechner blockieren oder viel Zeit beanspruchen, z.B. wenn eine große Anzahl an Seiten gedruckt wird. Das kann bei einem kleinen Standardwert zu einem unerwartetem Timeout führen.

Es gibt zwei Optionen:

Ein positiver Wert im Parameter Wert setzt ein globales und permanentes Timeout: Der neue Wert gilt für alle Prozesse und wird in den Voreinstellungen der 4D Anwendung gespeichert. Das entspricht einer Änderung in den Einstellungen der Datenbank.

Ein negativer Wert im Parameter Wert setzt ein lokales und temporäres Timeout: Der neue Wert gilt nur für den aufgerufenen Prozess. Die anderen Prozesse behalten den Standardwert bei. Der temporäre Wert wird zurückgesetzt, sobald der Server vom Client ein Signal für Aktivität erhält – zum Beispiel, wenn die Operation beendet ist. Diese Option eignet sich für lange Operationen, die über 4D Plug-Ins gestartet werden

Um die Option "Kein Timeout" zu setzen, übergeben Sie 0 (Null) in Wert (siehe 1. Beispiel).

Selector = 14 (4D Client Timeout):

Damit ändern Sie den Wert zum Abschalten des 4D Clients.

Der Standardwert zum Abschalten des 4D Clients wird auf dem Client Rechner in den Einstellungen der Datenbank auf der Seite "Client/Server:Konfiguration" festgelegt.

Ansonsten funktioniert dieser Selector auf dem Client wie der vorige Selector 4D Server Timeout(13) auf dem Server.

Selector = 15 (Port ID):

Damit ändern Sie sofort die Nummer des TCP Port, welche der 4D Web Server mit 4D im lokalen Modus und 4D Server verwendet. Der Standardwert ist 80. Er wird in den Einstellungen der Datenbank auf der Seite "Web>Konfiguration" festgelegt. Für den Parameter Wert können Sie die Konstanten unter dem Thema "TCP Port Nummern" verwenden.

Dieser Selector ist hilfreich für 4D Web Server mit einkompilierter 4D Desktop, die keinen Zugriff auf den Designmodus zulassen. Weitere Informationen zur TCP Port ID finden Sie im Abschnitt Web Dienste, Konfiguration.

Selector = 16 (IP Address to listen):

Damit ändern Sie sofort die IP Adresse, unter der der 4D Web Server HTTP Anfragen mit 4D im lokalen Modus und 4D Server empfängt. Standardmäßig ist keine bestimmte Adresse definiert (Wert = 0). Dieser Parameter wird in den Einstellungen der Datenbank auf der Seite "Web>Konfiguration" festgelegt.

Dieser Selector ist hilfreich für 4D Web Server mit einkompilierter 4D Desktop, die keinen Zugriff auf den Designmodus zulassen.

Im Parameter Wert übergeben Sie eine hexadezimale IP Adresse. Für die IP Adresse "a.b.c.d" schreiben Sie:

   C_LONGINT($addr)
   $addr:=($a<<24)|($b<<16)|($c<<8)|$d
   SET DATABASE PARAMETER(IP Address to listen;$addr)

Siehe auch 2. Beispiel. Weitere Informationen dazu finden Sie im Abschnitt Web Dienste, Einstellungen des Web Server.

Selector = 17 (Character set):

Beschreibung: Damit können Sie sofort den Zeichensatz ändern, den der 4D Web Server mit 4D im lokalen Modus und 4D Server für die Kommunikation mit Browsern verwenden soll, die sich an die Datenbank anmelden. Die aktuelle Standardeinstellung hängt ab von der Sprache des Betriebssystems.

Dieser Parameter wird in den Einstellungen der Datenbank festgelegt. Dieser Selector ist hilfreich für 4D Web Server mit einkompilierter 4D Desktop, die keinen Zugriff auf den Designmodus zulassen.

Werte: Der Wert richtet sich nach dem jeweiligen Ausführungsmodus der Datenbank

Unicode Modus: Wird die Anwendung im Modus Unicode ausgeführt, müssen jetzt für diesen Parameter Zeichensatz Identifier übergeben werden. Das sind Identifier vom Typ MIBEnum definiert IANA (siehe unter http://www.iana.org/assignments/character-sets)

Nachfolgend sehen Sie die Liste der Identifier, der dem von 4D Web Server unterstützten Zeichensatz entspricht:

4 = ISO-8859-1

12 = ISO-8859-9

13 = ISO-8859-10

17 = ShiftJIS

2026 = Big5

38 = euc-kr

106 = UTF-8

2250 = Windows-1250

2251 = Windows-1251

2253 = Windows-1253

2255 = Windows-1255

2256 = Windows 1256

Beachten Sie, dass die Funktion Get database parameter mit dem Selektor 17 (Character set) im optionalen Parameter StringWert den IANA Namen des Zeichensatzes zurückgibt.

ASCII Kompatibilitätsmodus

0: Western European

1: Japanisch

2: Chinesisch

3: Koreanisch

4: Benutzerdefiniert

5: Reserviert

6: Central European

7: Kyrillisch

8: Arabisch

9: Griechisch

10: Hebräisch

11: Türkisch

12: Baltisch

Weitere Informationen zum Unicode Modus finden Sie unter Selector 41.

Selector = 18 (Max Concurrent Web Processes):

Werte: Der Standardwert ist 32 000. Sie können jeden Wert zwischen 10 und 32 000 übergeben.

Beschreibung: Damit setzen Sie die maximale Anzahl aller gleichzeitig laufenden Web Prozesse (kontextuell, nicht kontextuell oder die zum Pool der Prozesse gehören), die der 4D Web Server mit 4D im lokalen Modus und 4D Server unterstützt. Ist die maximale Anzahl erreicht, erstellt 4D keinen weiteren Prozess und gibt den HTTP Status 503 zurück - Dienst für weitere neue Anfragen nicht verfügbar.

Dieser Parameter verhindert die Übersättigung des 4D Web Server. Sie kann eintreten, wenn gleichzeitig eine zu große Anzahl an Anfragen gesendet wird oder zuviele Kontext-Erstellungen angefordert werden.

Theoretisch ist die max. Anzahl der Web Prozesse das Ergebnis der folgenden Formel:

Verfügbarer Speicher/Stapelgröße der Web Prozesse. Sie können sich auch die Information über die Web Prozesse im Runtime Explorer ansehen: Er zeig die aktuelle Anzahl der Web Prozesse und die max. erreichte Anzahl seit dem Hochfahren des Web Server an.

Hinweis: Übergeben Sie einen Wert, der unter dem oberen Grenzwert des Prozess-Pools liegt, wird der Grenzwert auf den in Selector 18 angegebenen Wert herabgesetzt. Bei Bedarf wird auch der untere Grenzwert entsprechend angepass (siehe Selector 6 Minimum Web Process).

Sie können diese Einstellung auch in den Einstellungen der Datenbank definierien.

Selector = 19 (Client Minimum process Web)

Selector = 20 (Client Maximum process Web)

Selector = 21 (Client Max Web requests size)

Selector = 22 (Client Port ID)

Selector = 23 (Client IP Address to listen)

Selector = 24 (Client Character set)

Selector = 25 (Client Max Concurrent Web Proc)

Werte: Identisch zu den entsprechenden Selektoren für 4D im lokalen Modus oder 4D Server (siehe Selektoren 6-8, 15-18 und 27).

Beschreibung: Diese Selektoren geben die Parameter für Client Rechner an, die als Web Server verwendet werden. Die über diese Selektoren definierten Werte gelten für alle als Web Server verwendete Client-Rechner. Um Werte nur für bestimmte Client-Rechner festzulegen, wählen Sie das Dialogfenster Voreinstellungen von 4D im lokalen Modus.

Selector = 26 (Cache Writing Mode):

Dieser Selektor wurde deaktiviert, da er eine Funktionsweise betrifft, die in 4D v11 SQL optimiert wurde.

Selector = 27 (Maximum Web requests size):

Werte: 500 000 bis 2 147 483 648

Beschreibung: Maximale Größe (in Bytes) hereinkommender HTTP Anfragen (POST), die der Web Server akzeptiert. Standardmäßig ist der Wert 2 000 000 vorgegeben. Übergeben Sie den maximalen Wert, wird praktisch keine Grenze gesetzt.

Die Begrenzung sorgt dafür, dass der Web Server nicht überlastet wird durch zu große eingehende Anfragen. Erreicht eine Anfrage den Grenzwert, weist der 4D Web Server diese zurück.

Selector = 28 (4D Server Log Recording)

Werte: 0 oder von 1 - X (0 = nicht speichern, 1 - X = An den Dateinamen angehängte Sequenznummer).

Beschreibung: Startet oder stoppt das Speichern von Standardanfragen, die von 4D Server empfangen werden (mit Ausnahme von Web Anfragen). Der Standardwert ist 0, d.h. Anfragen werden nicht gespeichert.

4D Server ermöglicht, jede Anfrage, die vom Server-Rechner empfangen wird, in einem Logbuch zu speichern. Es wird neben die Strukturdatei der Datenbank gesetzt und hat den Namen "4DRequestsLogX", wobei X die Sequenznummer des Logbuchs ist. Erreicht die Datei die Größe von 10 MB, wird sie geschlossen und es wird ein neues Logbuch mit der um 1 erhöhten Sequenznummer angelegt. Ist bereits eine Datei mit dieser Nummer vorhanden, wird sie direkt ersetzt. Die Startnummer für die Sequenzen können Sie mit dem Parameter Wert einstellen.

Die Textdatei speichert verschiedene Informationen zu jeder Anfrage in Listenform: Zeit, Prozessnummer und -dauer, Benutzer, Größe der Anfrage, etc. Diese Information kann besonders hilfreich sein beim Optimieren der Anwendung oder für statistische Zwecke. Sie lässt sich z.B. in ein Tabellenprogramm importieren und weiterbearbeiten.

Hinweis: Sie können das Speichern von Anfragen manuell aktivieren bzw. deaktivieren, unter Windows mit der Tastenkombination Strg+Alt+L, auf Mac OS mit Befehls-+Wahltaste+ L.

Selector = 29 (Web Log Recording)

Werte: 0 = Nicht speichern (Standard), 1 = In CLF Format speichern, 2 = In DLF Format speichern, 3 = In ELF Format speichern, 4 = In WLF Format speichern.

Beschreibung: Startet oder stoppt das Speichern von Web Anfragen, die vom Web Server von 4Dim lokalen Modus oder 4D Server empfangen werden. Der Standardwert ist 0, d.h. Anfragen werden nicht gespeichert.

Das Logbuch von Web Anfragen wird als Textdatei mit Namen "logweb.txt" gespeichert, die automatisch neben die Strukturdatei der Datenbank gesetzt wird. Das Format dieser Datei richtet sich nach dem übergebenen Wert. Weitere Informationen zu Formaten für Web Logfiles finden Sie im Abschnitt Information über die Web Site.

Diese Datei lässt sich auch in den Einstellungen der Datenbank auf der Seite "Web:Erweitert" aktivieren.

Warnung: Format 3 und 4 sind individuell anpassbare Formate, d.h. Sie müssen den Inhalt zuvor in den Einstellungen der Anwendung auf der Seite "Web>Log Format" setzen. Verwenden Sie diese Formate, ohne zuvor auf die-ser Seite Felder auszuwählen, wird kein Logbuch angelegt.

Selector = 30 (Client Web Log Recording)

Werte: 0 = Nicht speichern (Standard), 1 = In CLF Format speichern, 2 = In DLF Format speichern, 3 = In ELF Format speichern, 4 = In WLF Format speichern.

Beschreibung: Startet oder stoppt das Speichern von Web Anfragen, die vom Web Server aller Client-Rechner empfangen werden. Der Standardwert ist 0, d.h. Anfragen werden nicht gespeichert.

Dieser Selector arbeitet genauso wie Selector 29; mit dem Unterschied, dass er für alle 4D Client Rechner gilt, die als Web Server verwendet werden. Wollen Sie nur Werte für bestimmte Client-Rechner setzen, verwenden Sie die Voreinstellungen von 4D Client.

Selector = 31 (Table Sequence Number)

Werte: Jeder Wert vom Typ Lange Ganzzahl.

Beschreibung: Dieser Selector dient zum Ändern oder Erhalten der aktuellen einmaligen Nummer für Datensätze der Tabelle, die als Parameter übergeben ist. "Aktuelle Nummer" bedeutet "zuletzt verwendete Nummer": Verändern Sie diesen Wert über den Befehl SET DATABASE PARAMETER, erhält der nächste Datensatz die Nummer übergebener Wert + 1 (diese neue Nummer wird von der Funktion Sequence number zurückgegeben).

Diese einmalige Nummer wird standardmäßig von 4D angelegt und entspricht der Reihenfolge, in der die Datensätze erstellt werden. Weitere Informationen dazu finden Sie in der Beschreibung zur Funktion Sequence number.

Selector = 32 (Real Display Precision)

Werte: Jeder positive Wert vom Typ lange Ganzzahl.

Beschreibung: Anzahl der nicht-signifikanten Stellen bei Werten vom Typ Zahl, die beim Runden nach dem Komma von rechts abgeschnitten werden. Dieser Wert gilt für die aktuelle Anwendung und Sitzung.

Standardmäßig ist der Wert 4 vorgegeben. Der Wert Null (0) gibt an, dass der Standardwert verwendet wird und dass der Parameter während der Sitzung nicht verändert wurde.

Aus historischen Gründen arbeitet 4D mit Zahlen, die mit 10 Bytes gespeichert werden und konvertiert sie während der Bearbeitung in 8 Bytes. Dies ist vollkommen transparent und beeinträchtigt nicht die Berechnungen. Manche Ergebnisse können jedoch nicht wie vorgesehen angezeigt werden. Zum Beispiel zeigt die Operation

4,1-4,09 das Ergebnis 0,009999999999999780000, die Suche nach 0,01 findet jedoch den korrekten Wert.

Beim Anzeigen einer Zahl geht 4D folgendermaßen vor: Wir nehmen als Beispiel den Wert 8,97499999999996158, der sich aus einer Berechnung ergibt (das erwartete Ergebnis wäre 8,975). Der Algorithmus, welcher exakt rundet, entfernt standardmäßig die letzten vier Stellen (6158) und prüft dann, ob die letzte verbleibende Stelle 0 oder 9 ist.

Bei 0 geht der Algorithmus bis zur ersten 0 und entfernt alle anderen Stellen. Bei 9 geht der Algorithmus zurück zur ersten 9 und rundet die Dezimalstelle bis zum nächsten Wert. In unserem Beispiel wird der Wert 8,974999999999996158 also umgewandelt in 8,975.

Manche Ergebnisse enden mit 5 nicht-signifikanten Stellen, wie z.B. 8,9749999999999986158. In diesem Fall kann der Algorithmus den Wert nicht korrekt runden, da die letzte verbleibende Stelle (nach Entfernen der letzten vier) weder 0 noch 9 ist und somit nichts ausführt.

Unter Umständen möchten Sie – je nach den Eigenheiten Ihrer Datenbank – für den Rundungsalgorithmus mehr oder weniger Stellen nach dem Komma abschneiden. In diesem Fall übergeben Sie einen eigenen Wert. Mit Ausnahme von Null (4D interner Wert), gibt dieser Wert die Anzahl der Stellen an, die durch den Rundungsalgorithmus abgeschnitten werden.

Beachten Sie, dass diese Einstellung weder die Anzeige der Zahlen, noch ihre interne Bearbeitung beeinträchtigt.

Selector = 33 (TCP_NODELAY)

Werte: 0 oder 1 (0 = inaktiv, 1 = aktiviert)

Beschreibung: Aktiviert oder deaktiviert die Netzwerkoption TCP_NODELAY. Diese Option ist intern zum TCP/IP Protokoll. Sie steuert den Mechanismus zur Optimierung der Kommunikation über das Netzwerk. Sie lässt sich für Server- und Client-Rechner separat einstellen. Standardmäßig ist auf allen Rechnern (Server und Client) der Wert 1 eingestellt, d.h. die Option ist aktiviert.

In spezifischen Fällen, insbesondere bei Client/Server-Verbindungen via DSL oder VPN (virtual private network) verbessert das Deaktivieren dieser Option die Performance der Anwendung. Diese Operation sollte mit Bedacht ausgeführt werden und durch Testläufe in verschiedenen Client/Server Konfigurationen geprüft werden.

Verändern Sie diesen Wert, müssen Sie die Anwendung neu starten, damit der Wert berücksichtigt wird.

Selector = 34 (Debug Log Recording)

Werte: 0, 1 oder 2 (0 = nicht protokollieren, 1 = protokollieren, 2 = im Detail protokollieren.

Beschreibung: Startet oder stoppt das sequentielle Protokollieren von Ereignissen, die auf 4D Programmierebene auftreten und dient zur Fehlerbehebung in der Anwendung. Standardmäßig ist der Wert 0 eingestellt, d.h. Ereignisse werden nicht protokolliert.

Es werden verschiedene Informationsarten protokolliert:

- Für jedes Ereignis die Zeit in Millisekunden seit Erstellen der Datei und die Prozessnummer ([n]).

- Die Ausführung jedes 4D Befehls (cmd) und jedes Aufrufen eines Plug-In (plugInName) mit Angabe der Stapelebene ( (n) ).

- Jedes Aufrufen von Projektmethoden (meth), Objektmethoden (obj) und Formularmethoden (form).

- Im Detail (Wert = 2) protokolliert zusätzliche Informationen der Plug-Ins. Das sind Ereignisse in Plug-In Bereichen (EventCode) und Aufrufen von 4D durch die Plug-Ins (externCall).

Die Ereignisse werden in einer Datei mit Namen "4DDebugLog.txt" protokolliert, die automatisch neben die Strukturdatei der Datenbank gelegt wird. Bei 4D Client liegt die Datei neben dem lokalen Cache Ordner. Jedes Ereignis wird noch vor seiner Ausführung in der Datei protokolliert und auf die Festplatte gespeichert. So ist sichergestellt, dass es selbst bei unerwartetem Beenden des Programms vorhanden ist. Beachten Sie, dass diese Datei bei jedem Start der Anwendung gelöscht und neu geschrieben wird. Diese Option lässt sich für jede Art von 4D Programm aktivieren (4D im lokalen und remote Modus, 4D Server, 4D Volume Desktop), im interpretierten oder kompilierten Modus.

Hinweis: Diese Option dient allein für Zwecke der Fehlerbehebung. Sie darf nicht generell eingesetzt werden, da sie die Ausführungsgeschwindigkeit drastisch verlangsamt.

Selector = 35 (Client Server Port ID)

Werte: 0 bis 65535

Beschreibung: Mit diesem Parameter lässt sich per Programmierung die Nummer des TCP-Port bestimmen, in dem 4D Server die Datenbank veröffentlicht (Zugriff für 4D im lokalen Modus). Der Standardwert ist 19813.

Durch individuelles Anpassen dieses Wertes können auf einem Rechner mit dem TCP Protokoll mehrere 4D Client/Server Anwendungen laufen. Dazu müssen Sie für jede Anwendung eine andere Port-Nummer angeben.

Der Wert wird in der Strukturdatei der Datenbank gespeichert. Er lässt sich mit 4D im lokale Modus setzen, wirkt sich jedoch nur im Client/Server-Betrieb aus.

Verändern Sie diesen Wert, müssen Sie den Server-Rechner neu starten, damit er berücksichtigt wird.

Selector = 36 (WEDD Signatur)

 Werte: String von 1 bis 255 Zeichen.

Beschreibung: Über diesen Parameter können Sie die WEDD Signatur der offenen Datenbank ändern (Strukturdatei und Datendatei). Diese Signatur ist standardmäßig leer, d.h. der Parameter ist nicht definiert. Beachten Sie, dass diese Signatur zwischen Groß- und Kleinschreibung unterscheidet.

Mit der WEDD Signatur können Sie einer Strukturdatei eine bestimmte Datendatei zuordnen. Eine Strukturdatei mit einer WEDD Signatur lässt sich nur mit der Datendatei öffnen, welche dieselbe WEDD Signatur hat und umgekehrt. Weitere Informationen dazu finden Sie im Handbuch 4D Designmodus.

Wird dieser Wert per Programmierung gesetzt, vereinfacht dies den Vertrieb von Upgrades für Anwendungen mit eigener Signatur.

Hinweis: Verwenden Sie diesen Selector mit der Funktion Get database parameter, wird der als WEDD Signatur definierte String im neuen optionalen Parameter Stringwert zurückgegeben. Die Funktion gibt dann 0 (Null) zurück.

Selector = 37 (Invert Objects)

Werte: 0, 1 oder 2 (0 = Modus inaktiv, 1 = automatischer Modus,

2 = Modus aktiviert).

 Beschreibung: Einstellen des Modus "Objekt-Inversion", um Formulare, Objekte, Menüleisten, etc. im Anwendungsmodus umzukehren, wenn die Datenbank unter Windows in einer rechts-nach-links laufenden Sprache angezeigt wird.

- Wert 0 gibt an, dass der Modus nie aktiviert wird, unabhängig von der Systemkonfiguration (entspricht der Einstellung Nein in den Voreinstellungen der Datenbank).

- Wert 1 gibt an, dass der Modus je nach Systemkonfiguration aktiviert oder deaktiviert ist (entspricht der Einstellung Automatisch in den Voreinstellungen der Datenbank).

- Wert 2 gibt an, dass der Modus aktiviert ist, unabhängig von der

Systemkonfiguration (entspricht der Einstellung Ja in den Voreinstellungen der Datenbank). Weitere Informationen dazu finden Sie im Handbuch 4D Designmodus.

Selector = 39 (HTTPS Port ID)

Werte: 0 bis 65535

Beschreibung: Mit diesem Selector können Sie per Programmierung die TCP Portnummer ändern, die der Web Server von 4D im lokalen Modus und von 4D Server für sichere Verbindungen via SSL (HTTPS protocol) verwendet. Die HTTPS Portnummer wird in den Einstellungen der Datenbank auf der Seite Web>Konfiguration gesetzt. Weitere Informationen dazu finden Sie im Abschnitt Einstellungen des Web Server.

Der Wert ist standardmäßig 443. Für den Parameter Wert können Sie Konstanten unter dem Thema "TCP Port Nummern" einsetzen.

Selector = 40 (Client HTTPS Port ID)

Werte: 0 bis 65535

Beschreibung: Mit diesem Selector können Sie per Programmierung die TCP Portnummer ändern, die Web Server von Client-Rechnern für sichere Verbindungen via SSL (HTTPS protocol) verwenden. Der Wert ist standardmäßig 443.

Dieser Selector funktioniert auf dieselbe Weise wie der Selector 39; er wird jedoch auf alle Client-Rechner angewandt, die als Web Server dienen. Wollen Sie nur den Wert eines bestimmten Client-Rechners verändern, wählen Sie die Voreinstellungen von 4D im lokalen Modus.

Selector = 41 (Modus Unicode)

Werte: 0 (Modus Kompatibilität) oder 1 (Modus Unicode)

Beschreibung: Aktueller Ausführungsmodus der Datenbank in Bezug auf den Zeichensatz.

4D unterstützt den Unicode Zeichensatz, kann aber auch im Modus "Kompatibilität" arbeiten, der auf dem Zeichensatz Mac ASCII basiert. Standardmäßig werden konvertierte Datenbanken im Modus Kompatibilität (0), in Version 11 oder höher erstellte Datenbanken im Modus Unicode ausgeführt.

Der Ausführungsmodus lässt sich über eine Option in den Voreinstel-lungen steuern. Er lässt sich über diesen Selector auch lesen oder für Testzwecke verändern.

Sie müssen die Datenbank neu starten, damit die Änderung berücksichtigt wird. Beachten Sie, dass Sie diesen Wert innerhalb einer Komponente nicht verändern, sondern ihn nur lesen können.

Selector = 42 (Temporary memory size)

Werte: Positive Lange Ganzzahl > 50.000.000

Beschreibung: Größe des temporären Speichers in Bytes. Die Standardgröße ist 50.000.000 (50 MB).

4D verwendet einen speziellen temporären Speicher für Index- und Sortieroperationen, um den standardmäßigen Cache-Speicher während umfangreichen Operationen zu schützen. Ist die maximale Größe des temporären Speichers erreicht, unterbricht 4D automatisch die zuletzt angeforderte Operation, damit nicht andere gerade laufende Prozesse beeinträchtigt werden.

In den meisten Fällen reicht die Standardkonfiguration des tempo-rären Speichers vollkommen aus. In spezifischen Anwendungen, die Sortieren und Indizieren in ausgeprägter Form durchführen, lässt sich durch Erhöhung des Speichers entscheidend die Performance verbessern. Der am besten geeignete Wert richtet sich nach den spezifischen Funktionalitäten der Anwendung und ergibt sich in der Regel aus real durchgeführten Volumentests.

Selector = 43 (SQL Autocommit)

Werte: 0 (deaktivieren) oder 1 (aktivieren)

Beschreibung: Aktivierung oder Deaktivierung des Modus SQL auto-commit. Standardmäßig ist der Wert 0 (deaktiviert).

Der Modus auto-commit sorgt für strengere referentielle Integrität der Datenbank. Ist er aktiv, werden alle Suchläufe mit SELECT, INSERT, UPDATE und DELETE (SIUD) automatisch in ad hoc Transaktionen gesetzt, wenn das noch nicht der Fall ist. Sie können diesen Modus auch in den Einstellungen der Datenbank setzen.

Selector = 44 (SQL Engine Case Sensitivity)

Werte: 0 oder 1 (0 = Groß-/Kleinschreibung nicht beachten, 1 = Groß-/Kleinschreibung beachten)

Beschreibung: Aktiviert oder deaktiviert die Berücksichtigung von Groß-/Kleinschreibung beim Vergleichen von Strings mit der SQL Engine.

Der Wert ist standardmäßig 1, d.h. die SQL Engine unterscheidet beim Vergleichen von Strings zwischen Groß- und Kleinschreibung (Sortieren und Suchen). Beispiel: "ABC"= "ABC" aber "ABC" # "Abc." In bestimmten Fällen, z.B. um die Funktionsweise der SQL Engine an die 4D Engine anzupassen, soll beim Vergleichen von Strings die Groß- und Kleinschreibung nicht berücksichtigt werden ("ABC"="Abc").

Sie können diese Option auch in den Einstellungen der Datenbank auf der Seite SQL>Konfiguration einstellen.

Selector = 45 (Client Log Recording)

Werte: 0 oder von 1 bis X (0 = nicht speichern, 1 bis X= sequentielle Nummer, an den Dateinamen angehängt).

Beschreibung: Startet oder stoppt das Speichern der Standardanfra-gen, die vom 4D Client Rechner ausgehen, der den Befehl ausführt (außer Web Anfragen). Der Wert ist standardmäßig 0 (Null), d.h. die Anfragen werden nicht gespeichert. Sie können in 4D alle vom Client Rechner ausgeführten Anfragen in einem Logbuch speichern. Ist das Speichern aktiviert, werden auf dem Client Rechner im lokalen Ordner der Datenbank im Unterord-ner Logs zwei Dateien angelegt: 4DRequestsLogX und 4DRequestsLog_ProcessInfo_X, wobei X die fortlaufende Nummer des Logbuchs ist. Sobald es die Größe von 10 MB erreicht hat, wird es geschlossen und ein neues Logbuch mit der nächsthöheren Num-mer erstellt. Gibt es bereits eine Datei mit demselben Namen, wird sie ersetzt. Sie können die Anfangsnummer über den Parameter Wert setzen.

Diese Textdatei speichert die Informationen zu jeder Anfrage in einem einfachen Format mit Tabs: Zeit, Prozessnummer, Größe der Anfrage, Bearbeitungsdauer, etc. Diese Information ist besonders hilfreich in der Entwicklungsphase der Anwendung oder für statisti-sche Zwecke.

Selector = 46 (Query By Formula On Server)

Werte: 0 (Konfiguration der Datenbank verwenden), 1 (auf Client ausführen) oder 2 (auf Server ausführen)

Beschreibung: Ausführungsort der Befehle QUERY BY FORMULA und QUERY SELECTION BY FORMULA für die im Parameter übergebene Tabelle.

Bei einer Datenbank im Client/Server-Betrieb können die Suchbefehle "nach Formel" entweder auf dem Server oder auf dem Client Rechner ausgeführt werden.

- In einer mit 4D v11 SQL erstellten Datenbank werden die Befehle auf dem Server ausgeführt.

- In konvertierten Datenbanken werden sie, wie in den bisherigen 4D Versionen, auf dem Client Rechner ausgeführt.

- In konvertierten Datenbanken gibt es eine spezielle Voreinstellung (Seite Anwendung>Kompatibilität), um den Ausführungsort dieser Befehle global zu verändern.

Der Ausführungsort beeinflusst nicht nur die Performance der Anwendung - die Ausführung auf dem Server ist in der Regel schneller - sondern auch die Programmierung. Der Wert der Komponenten der Formel, insbesondere bei Variablen, die über eine Methode aufgerufen werden, ändert sich je nach Ausführungsort. Über diesen Selektor können Sie die Arbeitsweise Ihrer Anwendung einstellen.

Übergeben Sie 0 (Null) im Parameter Wert, richtet sich der Ausführungsort der Suchbefehle nach der Konfiguration der Datenbank: In mit 4D v11 SQL erstellten Datenbanken werden diese Befehle auf dem Server ausgeführt. In konvertierten Datenbanken werden sie, je nach den Voreinstellungen, auf dem Client Rechner oder Server ausgeführt. Übergeben Sie 1 oder 2 in Wert, um die Ausführung dieser Befehle jeweils auf dem Client oder Server Rechner zu erzwingen.

Siehe Beispiel 4.

Selector = 47 (Order By Formula On Server)

Werte: 0 (Konfiguration der Datenbank verwenden), 1 (auf Client ausführen) oder 2 (auf Server ausführen)

Beschreibung: Ausführungsort des Befehls ORDER BY FORMULA für die im Parameter übergebene Tabelle.

Bei einer Datenbank im Client/Server-Betrieb lässt sich der Befehl ORDER BY FORMULA entweder auf dem Server oder auf dem Client-Rechner ausführen. Über diesen Selector können Sie den Ausführungsort dieses Befehls angeben (Server oder Client). Weitere Informationen dazu finden Sie unter Selector 46, Query By Formula On Server.

Selector = 48 (Auto Synchro Resources Folder)

Werte: 0 (keine Synchronisation), 1 (auto Synchronisation) oder 2 (Fragen).

Beschreibung: Dynamische Synchronisation des lokalen Ordners Resources auf dem Client- Rechner, der den Befehl mit dem Ordner Resources auf dem Server ausführt.

Wurde der Inhalt des Ordners Resources auf dem Server geändert oder hat ein Benutzer die Synchronisation angefordert, z.B. über den Resourcen Explorer oder nach der Ausführung des Befehls NOTIFY RESOURCES FOLDER MODIFICATION, benachrichtigt der Server die angemeldeten Client-Rechner.

Auf der Client-Seite gibt es dann drei Möglichkeiten zur Synchronisation. Der Selektor Auto Synchro Resources Folder ermöglicht die Einstellung auf dem Client für die aktuelle Arbeitssitzung:

- 0 (Standardwert) = keine dynamische Synchronisation (die Anfrage zur Synchronisation wird ignoriert)

- 1 = automatische dynamische Synchronisation

- 2 = Anzeige des Dialogfensters auf den Client-Rechnern, um die Synchronisation zu erlauben oder zu verweigern.

Der Synchronisationsmodus lässt sich auch global in den Einstellungen der Anwendung definieren.

Selector = 49 (QUERY BY FORMULA Joins)

Werte: 0 (Konfiguration der Datenbank verwenden), 1 (immer automatische Verknüpfungen) oder 2 (Wenn möglich, SQL joins verwenden).

Beschreibung: Arbeitsweise der Befehle QUERY BY FORMULA und QUERY SELECTION BY FORMULA bei Verwendung von "SQL joins".

In Datenbanken, die mit Version 11.2 von 4D v11 SQL erstellt wurden, führen diese Befehle Verknüpfungen nach dem SQL joins Modell aus. Auf diese Weise lässt sich die ausgewählte Tabelle verändern, wenn eine Suche in einer anderen Tabelle ausgeführt wird, auch wenn diese Tabellen nicht über eine automatische Verknüpfung miteinander verbunden sind. Diese automatische Verknüpfung war in bisherigen 4D Versionen erforderlich.

Über den Selektor QUERY BY FORMULA Joins legen Sie fest, wie die Suchbefehle im aktuellen Prozess arbeiten:

- 0 (Standardwert) = Verwendet die aktuellen Einstellungen der Datenbank. In Datenbanken, die mit Version 11.2 von 4D v11 SQL erstellt wurden, sind für Suchen nach Formel immer "SQL joins" aktiviert. In konvertierten Datenbanken ist diese Arbeitsweise aus Kompatibilitätsgründen nicht aktiv, sie lässt sich aber über eine Voreinstellung einrichten.

- 1 = Verwende immer automatische Verknüpfungen (= bisherige Funktionsweise in 4D). In diesem Modus ist eine Verknüpfung notwendig, damit bei Suche in einer anderen Tabelle die entsprechende Tabelle ausgewählt wird. 4D macht keine "SQL joins."

- 2 = Verwende SQL joins, wenn möglich (= Standardverhalten in Datenbanken, die mit Version 11.2 von 4D v11 SQL und höher erstellt wurden). In diesem Modus erstellt 4D "SQL joins" für Suchen nach Formel, wenn die Formel dazu passt - bis auf zwei Ausnahmen. Weitere Informationen dazu finden Sie unter den BefehlenQUERY BY FORMULA oder QUERY SELECTION BY FORMULA.

Selector = 50 (HTTP Compression Level)

Werte: 1 bis 9 (1 = schneller, 9 = stärker komprimiert), -1 = beste Kombination).

Beschreibung: Setzt die Komprimierungsebene für jeden über Web Services ausgeführten komprimierten HTTP Austausch (Client Anfragen oder Server Antworten). Der Austausch in komprimierter Form ist für 4D Anwendungen möglich, die über Web Services kommunizieren.

Mit diesem Selektor können Sie den Austausch entweder über die Ausführungsgeschwindigkeit (weniger Komprimierung) oder die Komprimierungsmenge (weniger Geschwindigkeit) optimieren. Die Auswahl des passenden Wertes richtet sich nach der Größe und der Art der ausgetauschten Daten. Im Parameter Wert können Sie einen Wert von 1 bis 9 übergeben, wobei 1 die schnellste und 9 die höchste Komprimierung ist. Für einen Kompromiss zwischen Geschwindigkeit und Komprimierungsrate übergeben Sie -1.

Standardmäßig ist als Komprimierungsebene 1 eingestellt (schnel-lere Komprimierung).

Selector = 51 (HTTP Compression Threshold)

Werte: Jeder Wert vom Typ Lange Ganzzahl

Beschreibung: Setzt den Schwellwert, bis zu dem der Austausch von Daten im Rahmen von 4D Web Services nicht komprimiert werden soll. Diese Einstellung ist hilfreich, um beim Austausch geringer Datenmengen zu verhindern, dass Rechenzeit für die Komprimierung beansprucht wird.

In Wert übergeben Sie eine Größe in Bytes. Standardmäßig ist als Schwellwert für Komprimierung 1024 Bytes eingestellt.

Beispiele:

(1) Nachfolgender Code verhindert unerwartete Timeouts:

`Timeout für aktuellen Prozess auf 3 Stunden erhöhen
   SET DATABASE PARAMETER(4D Server Timeout;-60*3)
   `Zeitintensive Operation ohne Steuern durch 4D ausführen
...
    WR PRINT MERGE (Bereich;3;0)
...

(2) Die IP Adresse 192.193.194.195 geben Sie mit folgendem Code an:

SET DATABASE PARAMETER(IP Address to listen;0xC0C1C2C3)

(3) Der nachfolgende Code ändert den aktuellen Zeichensatz und startet die Datenbank neu:

   Current_unicode_mode:=Get database parameter(Unicode mode)
   SET DATABASE PARAMETER(Unicode mode;1-Current_unicode_mode)
   OPEN DATA FILE (Data file)

(4) Dieses Beispiel erzwingt vorübergehend die Ausführung des Befehls QUERY BY FORMULA auf dem Client Rechner:

   curVal:= Get database parameter([table1];Query By Formula On Server)
      ` Die aktuelle Einstellung speichern
   SET DATABASE PARAMETER([table1];Query By Formula On Server;1)
      ` Die Ausführung auf dem Client Rechner erzwingen
   QUERY BY FORMULA([table1];myformula)
   SET DATABASE PARAMETER([table1];Query By Formula On Server;curVal) 
      ` Die aktuelle Einstellung wieder herstellen

Referenz

Get database parameter, QUERY SELECTION.

Anwendung des Befehls

Analyzing the Request Log file, Recording information sent between 4D Client and 4D Server, Starting or Stopping the Web Server, The 4DDebugLog.txt file


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next