sql >> Databáze >  >> RDS >> Sqlserver

Může spouštěč SQL volat webovou službu?

I kdyby to technicky šlo, opravdu to není dobrý nápad! Spoušť by měla být velmi štíhlá a rozhodně by neměla zahrnovat zdlouhavou operaci (což volání webové služby rozhodně je)! Přehodnoťte svou architekturu – měl by existovat lepší způsob, jak to udělat!

Moje doporučení by bylo oddělit úkol „všimnout si“, že musíte zavolat webovou službu, ve vašem spouštěči, od skutečného provedení tohoto volání webové služby.

Něco jako:

  1. ve svém spouštěcím kódu vložte do tabulky „zavolejte webovou službu později“ (stačí INSERT aby byl štíhlý a rychlý – to je vše)

  2. mít asynchronní službu (úlohu SQL nebo nejlépe službu Windows NT), která tato volání provádí odděleně od skutečného spuštění spouštěče a ukládá veškerá data získaná z této webové služby do příslušných tabulek ve vaší databázi.

Spoušť je velmi rafinovaná věc – měla by být vždy velmi rychlá, velmi štíhlá – proveďte INSERT nebo maximálně dva – a rozhodně se vyhněte kurzorům ve spouštěčích nebo jiným zdlouhavým operacím (jako je volání webové služby)

Brent Ozar má skvělý webcast (prezentovaný na SQL PASS) na 10 nejčastějších vývojářských chyb, které se neškálují a spouštěče jsou první věcí, na kterou se soustředí! Vřele doporučujeme



  1. Jak vypsat všechna výchozí omezení se sloupci v databázi SQL Server - SQL Server / Výukový program TSQL část 92

  2. Jak nainstalovat PostgreSQL na macOS

  3. Jsou příkazy CHOP automaticky zakódovány?

  4. Chyba vkládání MySQL:ER_BAD_FIELD_ERROR:Neznámý sloupec '2525' v 'seznamu polí'