SQL Anywhere ermöglicht es Ihnen, Daten mithilfe von SQL-Anweisungen und Funktionen aus einer Datei auf einem Clientcomputer zu laden bzw. in eine solche Datei zu entladen, ohne Dateien auf den Datenbankserver-Computer kopieren zu müssen. Um das zu tun, initiiert der Datenbankserver die Übertragung, indem eine Datei-Verarbeitungsroutine "Befehlsabfolge-Kommunikationsprotokoll (CmdSeq)" verwendet wird. Die Datei-Verarbeitungsroutine "CmdSeq" wird aufgerufen, nachdem der Datenbankserver eine Anforderung von der Clientanwendung erhalten hat, die eine Datenübertragung vom oder an den Clientcomputer verlangt, und bevor die Antwort gesendet wird. Die Datei-Verarbeitungsroutine unterstützt zu jedem beliebigen Zeitpunkt die gleichzeitige und miteinander verwobene Übertragung von mehreren Dateien vom Client. Der Datenbankserver kann beispielsweise die simultane Übertragung mehrerer Dateien initiieren, wenn dies die von der Clientanwendung ausgeführte Anweisung erfordert.
Die Verwendung der Datei-Verarbeitungsroutine "CmdSeq" für die Übertragung von Clientdaten bedeutet, dass Anwendungen keinen neuen Spezialcode benötigen und unmittelbar die Funktionen der unten angeführten SQL-Komponenten nutzen können:
READ_CLIENT_FILE-Funktion Die Funktion READ_CLIENT_FILE liest die Daten aus der angegebenen Datei auf dem Clientcomputer und gibt einen LONG BINARY-Wert zurück, der den Inhalt der Datei darstellt. Diese Funktion kann überall im SQL-Code verwendet werden, wo ein BLOB benutzt werden kann. Die von der Funktion READ_CLIENT_FILE zurückgegebenen Daten werden soweit wie möglich nicht im Speicher materialisiert, außer die Anweisung bewirkt explizit eine Materialisierung. Die LOAD TABLE-Anweisung beispielsweise überträgt Daten von der Clientdatei, ohne sie zu materialisieren. Die Zuweisung des von der Funktion READ_CLIENT_FILE zurückgegebenen Werts an eine Verbindungsvariable bewirkt, dass der Datenbankserver den Inhalt der Clientdatei abruft und materialisiert.
WRITE_CLIENT_FILE-Funktion Die Funktion WRITE_CLIENT_FILE schreibt Daten in die angegebene Datei auf dem Clientcomputer.
READCLIENTFILE-Datenbankberechtigung Die READCLIENTFILE-Berechtigung gestattet es Ihnen, Daten aus einer Datei auf einem Clientcomputer zu lesen.
WRITECLIENTFILE-Datenbankberechtigung Die WRITECLIENTFILE-Berechtigung gestattet es Ihnen, in eine Datei auf einem Clientcomputer zu schreiben.
LOAD TABLE ... USING CLIENT FILE-Klausel
Mit der USING CLIENT FILE-Klausel können Sie eine Tabelle mithilfe von Daten aus einer Datei auf dem Clientcomputer laden.
Beispiel: LOAD TABLE ... USING CLIENT FILE 'my-file.txt';
lädt die Datei namens my-file.txt vom Clientcomputer.
LOAD TABLE ... USING VALUE-Klausel
Die USING VALUE-Klausel ermöglicht es Ihnen, einen BLOB-Ausdruck als Wert anzugeben. Der BLOB-Ausdruck kann die Funktion
READ_CLIENT_FILE verwenden, um einen BLOB aus einer Datei auf einem Clientcomputer zu laden. Beispiel: LOAD TABLE ... USING VALUE READ_CLIENT_FILE( 'my-file' )
, wobei my-file eine Datei auf dem Clientcomputer ist.
UNLOAD TABLE ... INTO CLIENT FILE-Klausel Die INTO CLIENT FILE-Klausel ermöglicht es Ihnen, eine Datei auf dem Clientcomputer anzugeben, in die Daten entladen werden.
UNLOAD TABLE ... INTO VARIABLE-Klausel Die INTO VARIABLE-Klausel ermöglicht es Ihnen, eine Variable anzugeben, in die Daten entladen werden.
Sicherheitsfunktionen read_client_file und write_client_file Die Sicherheitsfunktionen "read_client_file" und "write_client_file" steuern die Verwendung von Anweisungen, die bewirken, dass von einer Clientdatei gelesen oder in sie geschrieben wird.
Beachten Sie, dass eine Callback-Funktion registriert werden muss, damit es möglich ist, aus einer Clientdatei zu lesen oder aus einer Prozedur, Funktion oder anderen indirekten Anweisungen in sie zu schreiben. Die Callback-Funktion wird aufgerufen, um zu bestätigen, dass die Anwendung die Clientübertragung zulässt, die sie nicht direkt angefordert hat.
Clientseitige Datensicherheit
Wiederherstellung beim Laden von clientseitigen Daten
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |