Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20
Configuration of 4D SQL Server

Configuration of 4D SQL Server  


 

 

Der SQL-Server von 4D ermöglicht den externen Zugriff auf die in der 4D Datenbank gespeicherten Daten. Für third party Anwendungen und 4D Applikationen erfolgt dieser Zugriff über einen 4D ODBC Treiber. Es ist auch möglich, direkte Verbindungen zwischen einem 4D Client und einer 4D Server Applikation herzustellen. Alle Verbindungen werden über das TCP/IP Protokoll hergestellt.

Der SQL Server einer 4D Applikation kann jederzeit gestoppt oder gestartet werden. Außerdem können Sie aus Performance- und Sicherheitsgründen den TCP Port sowie die zuhörende IP-Adresse angeben und die Zugriffsmöglichkeiten auf die 4D Datenbank einschränken.

Der externe Zugriff auf den 4D SQL Server kann entweder über ODBC (alle Konfigurationen) oder direkt (4D Client Applikation verbunden mit 4D Server) erfolgen. Dies ist im folgenden Diagramm zusammengefasst:

Auf der Abfrageebene wird das Öffnen einer direkten externen Verbindung oder einer Verbindung über ODBC mit dem Befehl SQL LOGIN durchgeführt. Weitere Informationen finden Sie in der Beschreibung dieses Befehls.

  • Verbindungen über ODBC: 4D stellt einen ODBC Treiber zur Verfügung, mit dem jede third party Anwendung (Spreadsheet vom Typ Excel®, andere DBMS usw.) oder eine andere 4D Anwendung eine Verbindung zum 4D SQL Server herstellen kann. Der 4D ODBC Treiber muss auf dem SQL Client Rechner installiert werden. Die Installation und Konfiguration des 4D ODBC Treibers wird in einem separaten Handbuch beschrieben.

  • Direkte Verbindungen: Nur eine 4D Server Applikation kann auf direkte SQL Abfragen von anderen 4D Applikationen antworten. Ebenso können nur 4D Applikationen der "Professional" Produktlinie eine direkte Verbindung zu einer anderen 4D Applikation öffnen. Bei einer direkten Verbindung erfolgt der Datenaustausch automatisch im synchronen Modus, wodurch Fragen der Synchronisation und der Datenintegrität entfallen. Pro Prozess ist nur eine Verbindung zulässig. Wenn Sie mehrere gleichzeitige Verbindungen herstellen möchten, müssen Sie so viele Prozesse wie nötig erstellen. Direktverbindungen können gesichert werden, indem Sie auf der Zielseite der Verbindung (4D Server) auf der Registerkarte "SQL" der Datenbank-Eigenschaften die Option TLS aktivieren. Direkte Verbindungen werden von 4D Server nur zugelassen, wenn der SQL Server gestartet ist. Der Hauptvorteil von Direktverbindungen besteht darin, dass der Datenaustausch beschleunigt wird.

Der SQL-Server kann auf drei Arten gestartet und gestoppt werden:

  • Manuell über die Befehle Start SQL Server/Stop SQL Server im Menü Start der 4D Applikation:

     

    Hinweis
    : Bei 4D Server ist dieser Befehl als Schaltfläche auf dem Find in array zu finden. Wenn der Server gestartet wird, ändert sich dieser Menüeintrag in SQL Server stoppen.
  • Automatisch beim Start der Applikation, über die Datenbank-Einstellungen. Rufen Sie dazu die Seite SQL auf und aktivieren Sie die Option SQL Server beim Start starten:

  • Durch Programmierung mit den Befehlen START SQL SERVER und STOP SQL SERVER (Thema "SQL"). Wenn der SQL-Server gestoppt ist (oder wenn er nicht gestartet wurde), reagiert 4D nicht auf externe SQL-Anfragen.

    Hinweis
    : Das Stoppen des SQL Servers hat keinen Einfluss auf die interne Funktion der 4D SQL Engine. Die SQL-Engine ist immer für interne Abfragen verfügbar.

It is possible to configure the publishing parameters for the SQL server integrated into 4D. These parameters are found on the SQL page of the Database Settings:

  • The Launch SQL Server at Startup option can be used to start the SQL server on application startup.
  • TCP Port: By default, the 4D SQL server responds on the TCP port 19812. If this port is already being used by another service, or if your connection parameters require another configuration, you can change the TCP port used by the 4D SQL server.

    Notes
    :
    - If you pass 0, 4D will use the default TCP port number, i.e. 19812.
    - You can programmatically set this value by using the SQL Server Port ID selector of the SET DATABASE PARAMETER command.
  • IP Address: You can set the IP address of the machine on which the SQL server must process SQL queries. By default, the server will respond to all the IP addresses (All option).
     
    The “IP Address” drop-down list automatically contains all the IP addresses present on the machine. When you select a particular address, the server will only respond to queries sent to this address.
     
    This is intended for 4D applications hosted on machines having several TCP/IP addresses.

    Notes
    :
    - On the client side, the IP address and the TCP port of the SQL server to which the application connects must be correctly configured in the ODBC data source definition.
    - Starting with 4D v14, the SQL server handles IPv6 address notation. The server accepts either IPv6 or IPv4 connections indiscriminately when the listening "IP address" of the server is set to All. For more information, refer to Unterstützung von IPv6.
  • Enable TLS: This option indicates whether the SQL server must enable the TLS protocol for processing SQL connections. Note that when this protocol is enabled, you must add the ":ssl" keyword to the end of the IP address of the SQL server when you open a connection using the SQL LOGIN command.
     
    By default, the SQL server uses internal files for the TLS key and certificate. You can, however, use custom elements: to do this, just copy your own key.pem and cert.pem files to the following location: MyDatabase/Preferences/SQL (where "MyDatabase" represents the database folder/package).
     
    Notes:
    - Beginning with 4D v16 R5, the default protocol is TLS 1.2.
    - You can programmatically modify this value by using the Min TLS version selector with the SET DATABASE PARAMETER command.
  • Allow Flash Player requests: This option can be used to enable the mechanism for supporting Flash Player requests by the 4D SQL server. This mechanism is based on the presence of a file, named "socketpolicy.xml," in the preferences folder of the database (Preferences/SQL/Flash/). This file is required by Flash Player in order to allow cross-domain connections or connections by sockets of Flex (Web 2.0) applications.
     
    In the previous version of 4D, this file had to be added manually. From now on, the activation is carried out using the Allow Flash Player requests option: When you check this option, Flash Player requests are accepted and a generic "socketpolicy.xml" file is created for the database if necessary.
     
    When you deselect this option, the "socketpolicy.xml" file is disabled (renamed). Any Flash Player queries received subsequently by the SQL server are then rejected.
    On opening of the database, the option is checked or not checked depending on the presence of an active "socketpolicy.xml" file in the preferences folder of the database.

    Note
    : It is possible to set the encoding used by the SQL server for processing external requests using the 4D SQL SET OPTION command.

Aus Sicherheitsgründen ist es möglich, die Aktionen einzuschränken, die externe Abfragen, die an den SQL Server gesendet werden, in der 4D Datenbank durchführen können.
Dies kann auf zwei Ebenen geschehen:

  • Auf der Ebene der Art der erlaubten Aktion,
  • auf der Ebene des Users, der die Abfrage durchführt.
    Diese Einstellungen können auf der Seite SQL der Datenbankeinstellungen vorgenommen werden.

Hinweis: Sie können auch den Datenbankmethode On SQL Authentication verwenden, um den externen Zugriff auf die 4D interne SQL-Engine zu steuern.

Die in diesem Dialogfenster eingestellten Parameter werden auf das Standardschema angewendet. Die Steuerung des externen Zugriffs auf die Datenbank basiert auf dem Konzept der SQL-Schemata (siehe Abschnitt 4D SQL engine implementation). Wenn Sie keine benutzerdefinierten Schemas erstellen, umfasst das Standardschema alle Tabellen der Datenbank. Wenn Sie andere Schemas mit bestimmten Zugriffsrechten erstellen und diese mit Tabellen verknüpfen, enthält das Standardschema nur die Tabellen, die nicht in benutzerdefinierten Schemas enthalten sind.

Sie können drei verschiedene Arten des Zugriffs auf das Standardschema über den SQL-Server konfigurieren:

  • "Nur Lesen (Daten)": Uneingeschränkter Zugriff zum Lesen aller Daten der Datenbanktabellen, aber kein Hinzufügen, Ändern oder Entfernen von Datensätzen und keine Änderung der Datenbankstruktur ist erlaubt.
  • "Lesen/Schreiben (Daten)": Lese- und Schreibzugriff (Hinzufügen, Ändern und Löschen) auf alle Daten der Datenbanktabellen, aber keine Änderung der Datenbankstruktur ist erlaubt.
  • "Vollständig (Daten und Design)": Lese- und Schreibzugriff (Hinzufügen, Ändern und Löschen) auf alle Daten der Datenbanktabellen sowie die Änderung der Datenbankstruktur (Tabellen, Felder, Verknüpfungen usw.) ist erlaubt.

Sie können für jede Zugriffsart eine Reihe von Benutzern festlegen. Zu diesem Zweck stehen Ihnen drei Optionen zur Verfügung:

  • <Niemand>: Wenn Sie diese Option wählen, wird die betreffende Zugriffsart für alle Abfragen verweigert, unabhängig von deren Herkunft. Dieser Parameter kann auch verwendet werden, wenn das 4D Passwort-Zugangsverwaltungssystem nicht aktiviert ist.
  • <Jeder>: Wenn Sie diese Option wählen, wird die betreffende Zugriffsart für alle Abfragen zugelassen (es gibt keine Beschränkung).
  • Gruppe von Usern: Mit dieser Option können Sie eine Gruppe von Usern benennen, die ausschließlich für die betreffende Zugriffsart berechtigt sind. Diese Option setzt voraus, dass 4D Passwörter aktiviert sind. Der User, von dem die Abfragen ausgehen, gibt seinen Namen und sein Passwort an, wenn er sich mit dem SQL-Server verbindet.

WARNUNG: Jede Zugriffsart wird unabhängig von den anderen festgelegt. Genauer gesagt, wenn Sie einer Gruppe nur den Zugriff vom Typ Nur lesen zuweisen, hat dies keine Auswirkungen, da diese Gruppe sowie alle anderen weiterhin vom Zugriff vom Typ Lesen/Schreiben profitieren (standardmäßig <Jeder> zugewiesen). Um einen Zugriff vom Typ Nur Lesen einzurichten, müssen Sie auch den Zugriff vom Typ Lesen/Schreiben konfigurieren.

WARNUNG: Dieser Mechanismus basiert auf 4D Passwörtern. Damit die Zugriffskontrolle des SQL-Servers wirksam wird, muss das 4D-Passwortsystem aktiviert sein (dem Designer muss ein Passwort zugewiesen werden).

Hinweis: Auf der Ebene der einzelnen 4D Projektmethoden kann eine zusätzliche Sicherheitsoption eingestellt werden. Weitere Informationen hierzu finden Sie im Abschnitt "Über die SQL-Option verfügbar" in den Grundsätzen zur Integration von 4D und der 4D SQL Engine.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Using SQL in 4D

 
SEITENINHALT 
 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D - SQL Reference ( 4D v20)