none
SQL Server und Pipe einmal andersrum RRS feed

  • Frage

  • Moin,

    ich habe ein Backend auf einem SQLServer (2017 Express) und gehe da mit einem Access-Frontend dran. VBA bietet nicht immer brauchbare Lösungen, so denke ich nach, einiges in eine .NET Anwendung auszulagern, die im Hintergrund diverse Sachen erledigt. Dazu müsste ich vom SQLServer aus Kommandostrings bzw. zugehörige Infos als Strings senden könnnen.

    Kann ich vom SQLServer aus Daten an eine Anwendung per Named Pipe senden? Gibt es andere brauchbare Ansätze für diese Aufgabe?

    Im Grunde geht es darum, dass mein Helferlein auf Kommandos warten und daraufhin dann MSWord startet und mit Daten einen Bericht zusammenkleistert. Das geschieht aktuell im Client, es gibt aber Gründe, dies auf den Server-Rechner zu verlegen. Dazu müsste entweder Access mit seinem VBA oder der SQLServer selbst mit dem Helferlein kommunizieren.

    Gruß

    H.

    Montag, 21. Oktober 2019 08:57

Antworten

  • Nun, mit etwas Mühe kann man auch Prozeduren/Funktion des Net-frameworks aus SQL heraus aufrufen.
    https://docs.microsoft.com/de-de/sql/relational-databases/clr-integration-database-objects-user-defined-functions/clr-user-defined-functions?view=sql-server-ver15

    • Als Antwort markiert Hannebambel Montag, 21. Oktober 2019 11:10
    Montag, 21. Oktober 2019 10:44

Alle Antworten

  • Hallo,

    grundsätzlich kommuniziert der Client über ein Netzwerk-Protokoll mit dem SQL Server, das kann auch Named Pipoes sein, wobei TCP/IP besser geeignet ist. Man sendet eine Abfrage und erhält das Ergebnis zurück. Mir ist noch nicht ganz klar, was hier das Problem ist bzw. was Du erreichen willst?


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Montag, 21. Oktober 2019 09:53
  • Mir geht es hier nicht um das Holen von Abfragedaten.

    Vielleicht wird es so anschaulicher:

    Kann ich, und wenn ja wie, aus einer gespeicherten Funktion heraus an eine andere Anwendung Strings schicken? Also sowas wie

    sendePerWieAuchImmerAnHelferlein(N'Kommando123', N'WasAuchImmer')

    das soll von der anderen Anwendung dann ausgewertet und entsprechende Handlungen durchgeführt werden. Übermittelt werden sollen keine Daten aus einer Tabelle, es geht nicht darum, das Ergebnis einer SELECT-Abfrage an einen Client zu schicken, sondern in einer anderen Anwendung diverse Aktionen zu triggern. Denkbar wäre z.B. eine Email aus der gespeicherten Prozedur heraus verschicken zu lassen oder was ähnliches.

    H.

    Montag, 21. Oktober 2019 10:08
  • Emails kannst Du mit sp_send_dbmail (Transact-SQL) versenden, andere Interaktionen vom SQL Server aus zu anderen Applikationen geht nicht; der Client muss von seiner Seite aus Abfragen startet, wobei MS Word & Excel auf den SQL Server zugreifen können.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]


    Montag, 21. Oktober 2019 10:13
  • Nun, mit etwas Mühe kann man auch Prozeduren/Funktion des Net-frameworks aus SQL heraus aufrufen.
    https://docs.microsoft.com/de-de/sql/relational-databases/clr-integration-database-objects-user-defined-functions/clr-user-defined-functions?view=sql-server-ver15

    • Als Antwort markiert Hannebambel Montag, 21. Oktober 2019 11:10
    Montag, 21. Oktober 2019 10:44