4D v16.3SQL LOGIN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SQL LOGIN
SQL LOGIN
Der Befehl SQL LOGIN öffnet eine Verbindung mit der SQL Datenquelle, angegeben im Parameter Datenquelle. Er bezeichnet das Ziel der SQL Anfragen, die nachfolgend im aktuellen Prozess ausgeführt werden:
Die SQL Datenquelle kann folgendes sein:
In Datenquelle können Sie einen der folgenden Werte übergeben: Eine IP Adresse, einen Namen zum Veröffentlichen der 4D Datenbank, einen Namen der ODBC Datenquelle, einen leeren String oder eine Konstante SQL_INTERNAL.
Wird die Verbindung hergestellt, wird die Systemvariable OK auf 1 gesetzt. Andernfalls wird sie auf 0 gesetzt und ein Fehler erzeugt. Diesen Fehler können Sie über eine Fehlerverwaltungsmethode abfangen, die mit dem Befehl ON ERR CALL installiert wird. Konstante SQL_INTERNAL Warnung: Die Vorsilben, die im Parameter Datenquelle verwendet werden, müssen großgeschrieben werden (IP, ODBC, 4D). Benutzername enthält den Namen des Benutzers, der berechtigt ist, sich an die die externe Datenquelle anzumelden. Der Benutzername für Oracle kann z.B. “Schott” lauten. Kennwort enthält das Kennwort des Benutzers, der berechtigt ist, sich an die die externe Datenquelle anzumelden. Das Kennwort für Oracle kann z.B.“Tiger” sein. Hinweis: Übergeben Sie bei direkten Verbindungen in den Parametern Benutzername und Kennwort leere Strings, wird die Verbindung nur angenommen, wenn in der Zieldatenbank keine 4D Kennwörter aktiviert sind. Andernfalls wird die Verbindung zurückgewiesen. Mit dem optionalen Parameter * können Sie das Ziel des SQL Code ändern, der innerhalb der Tags Begin SQL/End SQL ausgeführt wird. Übergeben Sie diesen Parameter NICHT, wird der Code innerhalb der Tags Begin SQL/End SQL weiterhin an die interne SQL Engine von 4D gesendet, ohne die im Befehl SQL LOGIN angegebene Konfiguration zu berücksichtigen. Übergeben Sie diesen Parameter, wird der innerhalb der Tags Begin SQL/End SQL ausgeführte Code an die Quelle gesendet, die im Parameter Datenquelle definiert ist. Um die aktuelle Verbindung zu schließen und den Speicher freizumachen, führen Sie den Befehl SQL LOGOUT aus. Dann werden alle SQL Anfragen an die interne 4D SQL Datenbank gesendet. Hinweis: Wenn ein externer Verbindungsversuch via SQL LOGIN fehlschlägt, wird die interne 4D Datenbank automatisch die aktuelle Datenquelle. Diese Parameter sind optional; sind sie nicht angegeben, zeigt der Befehl das Dialogfenster für die ODBC Anmeldung an, in dem Sie die externe Datenquelle auswählen können. Die Reichweite dieses Befehls ist der Prozess; wollen Sie zwei unterschiedliche Verbindungen ausführen, müssen Sie zwei Prozesse erstellen und jede Verbindung in einem eigenen Prozess ausführen. Diese Anweisung bringt das Verwaltungsfenster des ODBC Treibers nach vorne: SQL LOGIN Eine Verbindung über das ODBC Protokoll mit der externen Datenquelle "MyOracle" öffnen. Über den Befehl SQL EXECUTE ausgeführte SQL Anfragen sowie Anfragen innerhalb der Tags Begin SQL/End SQL werden zu dieser Verbindung weitergeleitet: SQL LOGIN("ODBC:MyOracle";"Schott";"tiger";*) Diese Anweisung initialisiert eine Verbindung mit der 4D internen SQL Engine: SQL LOGIN(SQL_INTERNAL;$user;$password) Eine direkte Verbindung öffnen mit der 4D Server Anwendung, ausgeführt auf dem Rechner mit der IP Adresse 192.168.45.34, die auf dem standardmäßigen TCP Port antwortet. Über den Befehl SQL EXECUTE ausgeführte SQL Anfragen werden zu dieser Verbindung weitergeleitet, Anfragen innerhalb der Tags Begin SQL/End SQL werden nicht weitergeleitet. SQL LOGIN("IP:192.168.45.34";"John";"azerty") Eine direkte Verbindung öffnen mit der 4D Server Anwendung, ausgeführt auf dem Rechner mit der IP Adresse 192.168.45.34, die auf dem TCP Port 20150 antwortet. Über den Befehl SQL EXECUTE ausgeführte SQL Anfragen werden zu dieser Verbindung weitergeleitet, Anfragen innerhalb der Tags Begin SQL/End SQL werden an diese Verbindung weitergeleitet. SQL LOGIN("IP:192.168.45.34:20150";"John";"azerty";*) Auf dem Rechner mit der IP Adresse 192.168.45.34 mit der 4D Server Anwendung eine direkte Verbindung in TLS öffnen und auf dem Standard TCP Port antworten. Dazu müssen Sie TLS für den SQL Server auf der 4D Server Application aktiviert haben:
SQL LOGIN("IP:192.168.45.34:19812:ssl";"Admin";"sd156") // Beachte ":ssl" am Ende von IP Adresse und TCP Port Eine direkte Verbindung öffnen mit der 4D Server Application, die auf dem lokalen Netzwerk eine Datenbank mit Namen "Accounts_DB" veröffentlicht. Der für die SQL Server beider Datenbanken verwendete TCP Port (gesetzt in den Datenbank-Eigenschaften auf der Seite SQL) muss gleich sein (standardmäßig 19812). Über den Befehl SQL EXECUTE ausgeführte SQL Anfragen werden zu dieser Verbindung weitergeleitet, Anfragen innerhalb der Tags Begin SQL/End SQL werden nicht weitergeleitet. SQL LOGIN("4D:Accounts_DB";"John";"azerty") Dieses Beispiel zeigt die Möglichkeiten für Verbindungen über den Befehl SQL LOGIN: ARRAY TEXT(aNames;0) Bei erfolgreicher Verbindung wird die Systemvariable OK auf 1 gesetzt, sonst auf 0 (Null).
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D GESCHICHTE
Geändert: 4D v11 SQL Release 3 ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||