konto usunięte

Temat: SZBD inicujący zapytanie do zewnętrznych aplikacji!!??

Od systemu zarządzania bazą danych oczekuje się ze wysyła się do niego zapytania (SQL) i opcjonalnie oczekuje odpowiedzi.

Zastanawia mnie jednak czy jest możliwe, aby to sama baza danych potrafiła zainicjować wywołanie do zewnętrznego programu?

Wiem że można by ustawić jakiegoś zewnętrznego agenta, który odpytywał by bazę co jakiś czas i gdyby dostrzegł jakieś określone w niej zmiany, sam wykonywałby by program zewnętrzny. Ale to rozwiązanie mało optymalne.

Temat: SZBD inicujący zapytanie do zewnętrznych aplikacji!!??

Ale tak właśnie się to zwykle robi - kolejki integracyjne. Niektore DBMSy dają jednak pewne możliwości,.np. Oracle. SQL Server być może pozwoli użyć w triggerze funkcji CLR, która wyda jakieś polecenie zewnetrznemu systemowi np. po TCP/IP. Potrafi też odwoływać sie do komponentów COM, co daje wielkie możliwości (od użycia słownika Worda przez tworzenie wykresu Excela, wczytywanie do bazy paragrafow z Worda po komunikacje). Oracle chyba tez ma jakieś rozszerzenia umożliwiające komunikację (gniazda, webserwy). Pytanie czy ktoś się odważy zaryzykować użycie operacji blokujących albo grożących wyjątkami (tu ich może być sporo). Można to wrzucić w jakiś job bazodanowy. Ostatecznie można by tez np. generowac w SQL plik "semafor", ktorego utworzenie wykryje np..NETowy FileSystemWatcher.

PS: coś może być optymalne albo nie.Ten post został edytowany przez Autora dnia 29.01.14 o godzinie 22:20
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: SZBD inicujący zapytanie do zewnętrznych aplikacji!!??

Może chodzi ci o Query Notifications?
http://msdn.microsoft.com/library/ms175110.aspx

Temat: SZBD inicujący zapytanie do zewnętrznych aplikacji!!??

A przede wszystkim - o jaka bazę chodzi? Bo kilka silników ma pewne możliwości, które pozwolą uzyskać podobny efekt, ale każdy inaczej.
Michał Dyrała

Michał Dyrała programista Delphi,
C#. Oracle

Temat: SZBD inicujący zapytanie do zewnętrznych aplikacji!!??

FireBird ma np. mechanizm zdarzeń (events)



Wyślij zaproszenie do