Der lokale Nachrichtenspeicher erfordert die Installation von QAnywhere. QAnywhere befindet sich im SQL Anywhere-Installationsprogramm unter der Funktion "Synchronisation und Messaging". Um das Messaging in Ihrer SQL Anywhere-Datenbank zu aktivieren, müssen Sie das QAnywhere-Schema in Ihrer SQL Anywhere-Datenbank installieren, damit sie als lokaler Nachrichtenspeicher verwendet werden kann. Für diesen Zweck wird die Option -sil des QAnywhere Agent für SQL Anywhere verwendet. Die Option -sil weist den Agenten an, die Datenbank als lokalen Nachrichtenspeicher zu initialisieren. Der Agent wird einfach zur Initialisierung eines lokalen Nachrichtenspeichers verwendet und nicht weiter benötigt. Alle in der Datenbank erstellten QAnywhere-Objekte gehören zum Eigentümer ml_qa_message_group. Sobald Ihre SQL Anywhere-Datenbank als lokaler Nachrichtenspeicher initialisiert wurde, können Anwendungen die QAnywhere-Client-API zum Austauschen von Nachrichten verwenden.
Erstellen Sie eine SQL Anywhere-Datenbank. Sie können diesen Schritt auslassen, wenn Sie vorhaben, eine vorhandene SQL Anywhere-Datenbank zu verwenden.
dbinit localmsgstore.db |
Installieren Sie das QAnywhere-Schema in der SQL Anywhere-Datenbank, damit sie als lokaler Nachrichten-Bus verwendet werden kann:
qaagent -sil -c "dbf=localmsgstore.db;uid=dba;pwd=sql" |
Erstellen Sie eine Absender-Anwendung, um Nachrichten im Nachrichtenspeicher abzulegen. Hinweise zur Arbeit mit der .NET-Version der QAnywhere-Client-API finden Sie unter QAnywhere-.NET-API-Referenz für Clients.
using System; using System.IO; using iAnywhere.QAnywhere.Client; namespace sender { class sender { public static void Main() { try { // QAnywhere initialization QAManager mgr = QAManagerFactory.Instance.CreateQAManager(); // Be sure to set the DATABASE_TYPE property mgr.SetProperty( "DATABASE_TYPE", "sqlanywhere" ); mgr.SetProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" ); mgr.Open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT ); mgr.Start(); // Create a text message QATextMessage msg = mgr.CreateTextMessage(); msg.Text = "Sample text"; // Queue the message mgr.PutMessage( "dbqueue", msg ); // QAnywhere finalization mgr.Stop(); mgr.Close(); } catch( Exception exc ) { Console.WriteLine( exc.Message ); } } } } |
Kompilieren Sie das Programm, indem Sie Folgendes in der Befehlszeile eingeben. Sie müssen Visual Studio auf Ihrem Computer installiert haben.
csc /reference:"%SQLANY12%\Assembly\v2\iAnywhere.QAnywhere.Client.dll" sender.cs |
Erstellen Sie eine Empfänger-Anwendung, um Nachrichten aus dem Nachrichtenspeicher abzurufen. Hinweise zur Arbeit mit der .NET-Version der QAnywhere-Client-API finden Sie unter QAnywhere-.NET-API-Referenz für Clients.
using System; using System.IO; using iAnywhere.QAnywhere.Client; namespace receiver { class receiver { public static void Main() { try { // QAnywhere initialization QAManager mgr = QAManagerFactory.Instance.CreateQAManager(); // Be sure to set the DATABASE_TYPE property mgr.SetProperty( "DATABASE_TYPE", "sqlanywhere" ); mgr.SetProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" ); mgr.Open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT ); mgr.Start(); // Get the message QATextMessage msg = (QATextMessage)mgr.GetMessage( "dbqueue" ); // Display the text Console.WriteLine( msg.Text ); // QAnywhere finalization mgr.Stop(); mgr.Close(); } catch( Exception exc ) { Console.WriteLine( exc.Message ); } } } } |
Kompilieren Sie das Programm, indem Sie Folgendes in der Befehlszeile eingeben. Sie müssen Visual Studio auf Ihrem Computer installiert haben.
csc /reference:"%SQLANY12%\Assembly\v2\iAnywhere.QAnywhere.Client.dll" receiver.cs |
Starten Sie die SQL Anywhere-Datenbank:
dbsrv12 localmsgstore.db |
Führen Sie die Absender-Anwendung aus.
sender |
Führen Sie die Empfänger-Anwendung aus.
receiver |
Die Zeichenfolge "Sample Text" wird angezeigt.
Erstellen Sie eine SQL Anywhere-Datenbank. Sie können diesen Schritt auslassen, wenn Sie vorhaben, eine vorhandene SQL Anywhere-Datenbank zu verwenden.
dbinit localmsgstore.db |
Installieren Sie das QAnywhere-Schema in der SQL Anywhere-Datenbank, damit sie als Nachrichten-Bus verwendet werden kann:
qaagent -sil -c "dbf=localmsgstore.db;uid=dba;pwd=sql" |
Erstellen Sie eine Absender-Anwendung, um Nachrichten im Nachrichtenspeicher abzulegen. Hinweise zur Arbeit mit der .NET-Version der QAnywhere-Client-API finden Sie unter QAnywhere-Java-API-Referenz für Clients.
import java.util.*; import ianywhere.qanywhere.client.*; public class sender { public static void main( String [] args ) { try { // QAnywhere initialization QAManager mgr = QAManagerFactory.getInstance().createQAManager(); // Be sure to specify the DATABASE_TYPE mgr.setProperty( "DATABASE_TYPE", "sqlanywhere" ); mgr.setProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" ); mgr.open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT ); mgr.start(); // Create a text message QATextMessage msg = mgr.createTextMessage(); msg.setText( "Sample text" ); // Queue the message mgr.putMessage( "dbqueue", msg ); // QAnywhere finalization mgr.stop(); mgr.close(); } catch( Exception exc ) { System.out.println( exc.getMessage() ); } } } |
Kompilieren Sie das Programm, indem Sie Folgendes in der Befehlszeile eingeben. Sie müssen das Java JDK auf Ihrem Computer installiert haben.
javac -cp "%SQLANY12%\java\qaclient.jar" sender.java |
Erstellen Sie eine Empfänger-Anwendung, um Nachrichten aus dem Nachrichtenspeicher abzurufen. Hinweise zur Arbeit mit der Java-Version der QAnywhere-Client-API finden Sie unter QAnywhere-Java-API-Referenz für Clients.
import java.util.*; import ianywhere.qanywhere.client.*; public class receiver { public static void main( Strings [] args ) { try { // QAnywhere initialization QAManager mgr = QAManagerFactory.getInstance().createQAManager(); // Be sure to set the DATABASE_TYPE property. mgr.setProperty( "DATABASE_TYPE", "sqlanywhere" ); mgr.setProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" ); mgr.open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT ); mgr.start(); // Get the message QATextMessage msg = (QATextMessage)mgr.getMessage( "dbqueue" ); // Display the text System.out.println( msg.getText() ); // QAnywhere finalization mgr.stop(); mgr.close(); } catch( Exception exc ) { System.out.println( exc.getMessage() ); } } } |
Kompilieren Sie das Programm, indem Sie Folgendes in der Befehlszeile eingeben. Sie müssen das Java JDK auf Ihrem Computer installiert haben.
javac -cp "%SQLANY12%\java\qaclient.jar" receiver.java |
Starten Sie die SQL Anywhere-Datenbank:
dbsrv12 localmsgstore.db |
Führen Sie die Absender-Anwendung aus.
java -cp ".\;%SQLANY12%\java\qaclient.jar;%SQLANY12%\java\jodbc.jar" sender |
Führen Sie die Empfänger-Anwendung aus.
java -cp ".\;%SQLANY12%\java\qaclient.jar;%SQLANY12%\java\jodbc.jar" receiver |
Die Zeichenfolge "Sample Text" wird angezeigt.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |