Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » QAnywhere » Schreiben von QAnywhere-Clientanwendungen

 

Lesen besonders umfangreicher Nachrichten

Manchmal sind Nachrichten so umfangreich, dass sie den Größengrenzwert überschreiten, der durch die QAManager-Eigenschaft MAX_IN_MEMORY_MESSAGE_SIZE bzw. durch Standardwerte von 1 MB unter Windows und 64 kB unter Windows Mobile festgelegt wird. In diesem Fall kann das Nachrichtenobjekt nicht den vollen Inhalt der Nachricht im Speicher enthalten, und daher können Methoden, die sich darauf verlassen, dass der volle Inhalt der Nachricht in den Speicher geladen wird - wie z.B. readInt() und readString() - nicht benutzt werden. Allerdings können Sie sehr umfangreiche Nachrichten in Abschnitten direkt aus dem Nachrichtenspeicher lesen. Dazu verwenden Sie QATextMessage.readText() oder QABinaryMessage.readBinary() in einer Schleife.

Hinweis

Die SQL-API unterstützt nicht den Empfang von sehr umfangreichen Nachrichten.

Wenn Sie dies tun, können Sie kein QAManager-Objekt verwenden, der mit IMPLICIT_ACKNOWLEDGEMENT geöffnet wurde. Sie müssen ein QAManager-Objekt verwenden, das mit EXPLICIT_ACKNOWLEDGEMENT geöffnet wurde, und Sie müssen alle Aufrufe an readText() oder readBinary() abschließen, bevor Sie die Nachricht bestätigen.

 Siehe auch