Jemand kann Oracle Advance Queue aus C # mithilfe von PL / SSQL und ODP.NET implementieren? Ich kann kein einziges Beispiel oder eine Ressource mit konkreten Beispielen in C # oder VB.NET finden. Idealerweise hätte ich gerne einige Beispiele, wie Nachrichten mit einfachen Typen (XMl / string) in die Warteschlange gestellt und aus der Warteschlange entfernt werden.
Ich kann Ihnen bei den Best Practices nicht helfen, aber ich kann Ihnen mit einer UDT-Warteschlange helfen. Bevor Sie mit der Warteschlange arbeiten, müssen Sie benutzerdefinierte Typen aus der Datenbank in Ihrem C # -Projekt generieren. Angenommen, Sie haben Visual Studio und ODP.NET installiert, müssen Sie einfach über den Server-Explorer eine Verbindung zur Datenbank herstellen, Ihre UDTs suchen, mit der rechten Maustaste klicken und "Benutzerdefinierte Klasse generieren" auswählen. Diese Klassen werden direkt Ihren UDTs zugeordnet und verwendet um die ausgedruckten Informationen zu speichern.
Hier ist ein Beispiel für den Code, den Sie zum Einreihen einer Nachricht verwenden würden:
%Vor%Es ist ein ähnlicher Prozess wie aus der Warteschlange:
%Vor%Das ist ein "einfaches" Beispiel. Ich habe das meiste aus Pro ODP.NET für Oracle Database 11g von Ed Zehoo rausgeholt. Es ist ein ausgezeichnetes Buch und ich empfehle es dringend, um Ihnen zu helfen, ein besseres Verständnis für alle Aspekte von OPD.NET zu bekommen. Sie können das eBook hier kaufen: Ссылка . Wenn Sie den Gutscheincode MACWORLDOC eingeben, können Sie das eBook für 21,00 $ erhalten. Dieses Angebot ist nur gut für das eBook, das in einem passwortgeschützten PDF-Format kommt. Ich hoffe, das hilft!
Ich kenne die genaue Antwort auf dieses Problem nicht, aber hier ist was wir getan haben:
Ich hatte eine Anforderung, bei der ich UDT-Nachrichten in eine Warteschlange einreihen / aus der Warteschlange entfernen musste. Dieser Beitrag war wirklich hilfreich. Es hat fast alles außer der Erstellung eines "Oracle Custom Type" fehlt. Ich dachte, es lohnt sich, diesen Code hier hinzuzufügen, damit die Lösung vollständig ist.
Zu EnQueue / DeQueue in Oracle:
Benutzer mit der Rolle "AQ_ADMINISTRATOR_ROLE" muss erstellt werden. Im folgenden Beispiel wird der "AQUSER" mit dieser Rolle erstellt.
%Vor%AQ hat plsql Schnittstelle über DBMS_AQ [adm]. Alles, was Sie brauchen, ist, dass Sie diese Pakete von Ihrer Umgebung und allgemeinen AQ-Beispielen und Setup ausführen. Ich denke nicht, dass es etwas besonderes gibt, wenn man diese Pakete von c # aufruft.