Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 05:22 01.06.24 
Компютри и Интернет
   >> Бази данни
*Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема Може ли MySQL да уведоми клиент за събитие?нови  
Автор bira_more (бира)
Публикувано05.01.04 14:24



Имам следния проблем:
Няколко клиента с различна функционалност са свързани към MySQL.
Един от клиентите прави запис в таблица на MySQL - с insert.
Друг клиент прочита записа, прави кавото трябва и променя записа.
Първия клиент изчита променения запис.
В този случай на всяка секунда проверявам дали има нов запис или дали стар е променен.
Бих искал вместо непрекъснати проверки клиентите директно да получават уведомление при настъпило събитие.
Не знам дали въобще някоя БД поддържа подобна екстра и за това питам.
Версията на MySQL не е от значение, защото ако е необходимо ще премина към по висока иначе е 3.23 (.47 за NT и .54 за Linux)



Тема ти нещо за тригери ли намекваш ???нови [re: bira_more]  
Автор Topбaлaн (любопитко)
Публикувано05.01.04 14:41



май не може...

помисли за вариант клиента, който прави запис при успешен запис той да извика втория, дето променя и т.н.

P.S.

пуснах това

и интересен резултат излезе
всичко, което е по тема тригери е свързано с нещо, което се казва MAX DB
но това нещо на мен нищо не ми говори....

Редактирано от Topбaлaн на 05.01.04 14:52.



Тема Re: Може ли MySQL да уведоми клиент за събитие?нови [re: bira_more]  
Автор AcidMemory ()
Публикувано05.01.04 14:57



доколкото те разбирам, по всичко личи, че това не е "проблем" на базата

ако искаш да правиш messaging или event-driven модел, направи си подходящата структура на приложението или използвай нещо друго за тях

един тригер, евентуално, би могъл да свърши желаното, но това определено това не е правилният подход

Редактирано от AcidMemory на 05.01.04 14:58.



Тема Re: Може ли MySQL да уведоми клиент за събитие?нови [re: AcidMemory]  
Автор Topбaлaн (любопитко)
Публикувано05.01.04 15:04



абе точно тригера и транзакциите са правилния подход.....ама нейсе....)



Тема Re: Може ли MySQL да уведоми клиент за събитие?нови [re: Topбaлaн]  
Автор AcidMemory ()
Публикувано05.01.04 15:31



ооо, не, не

принципно, nowadays, използването на тригери (извън главното им предназначение - примерно, за осигуряване на интегритет на данните) се избягва (а дори и не се препоръчва)

най-малкото приложението ти се "обвързва" прекалено много с една реализация на бази данни

най-многото .... - ами много са, примерно, при изпълнението на тригери се правят прекалено много проверки, които за съжаление са задължителни, тъй като човек лесно почва да иска да прави нещата по невъзможен начин ...



Тема Re: Може ли MySQL да уведоми клиент за събитие?нови [re: AcidMemory]  
Автор Topбaлaн (любопитко)
Публикувано05.01.04 15:45



въпрос на гледна точка
за мен най-важното е да се осигури целостта на данните...
приложението и удобството за потребителя са на втора линия...

и ако трябва при определени условия да се изпрати съобщение на потребител - то може да стане или от приложението след успешно изпълнение на заявка (но би било добре заявката да е пакетирана в транзакция, че ако се усере пейзажа да не пострадат данните)...или пък от някой тригер, да речем ако трябва да се прати емайл...

представи си ситуация в която, ако не си изпратил емайл не трябва да приключваш транзакцията...угаснал ти е мейл сървъра и не успяваш да изпратиш емайла? ако нямаш транзакция какво точно правиш ?
(това е реален пример от една малка БД която поддържам тук, за съжаление ме мързи да го направя така, както съм описал по-горе и вече има издънки)



Тема Re: тригери не са му достатъчни :)нови [re: Topбaлaн]  
Автор salle (един такъв)
Публикувано05.01.04 17:38



Да наистина трябва му тригер за да направи "нещо" при настъпване на дадено събитие.

Да де ама ако "нещото" трябва да е изпращане на email или SMS или въобще "уведомяване" на друга програма - извън RDBMS ...

Колко и кои сървъри всъщност поддържат такова нещо на ниво Тригер или на ниво Съхранена Процедура?


Торбалане - като как така си пропуснал какво е MaxDB ? Доста шум се вдигна около сделката ни със SAP AG







Редактирано от salle на 05.01.04 17:39.



Тема Да си дообясня проблеманови [re: bira_more]  
Автор bira_more (бира)
Публикувано05.01.04 18:02



В описаната ситуация правя заявки (select) на всяка секунда.
Ако вместо да правя заявки (select) получавам отговор тогава когато има защо е друго.
Единия клиент казва - искам еди какъв си код.
Другия клиент връща отговор - ето ти код.
Първия клиент си изтегля кода.
Е в тази реализация има ненужен delay 1 секунда и много ненужни заявки.
Тригери - незнам какво животно са ама както ми го обясниха май няма да се случи тригре да върне не поискан отговор на SELECT. А точно това ми трябва.
Все едно да пусна SELECT и да получа отговор ТОГАВА когато отговора не е нула.



Тема Re: Може ли MySQL да уведоми клиент за събитие?нови [re: AcidMemory]  
Автор Mu/\eH (непознат )
Публикувано05.01.04 20:56



Напълно съгласен :)
Още по-готино е ако не са построени правилно тригерите.
Винаги можеш да измислиш нещо и да избягаш от ползването на тригери, ама все пак са си готина екстра.



Тема Re: тригери не са му достатъчни :) [re: salle]  
Автор Mu/\eH (непознат )
Публикувано05.01.04 21:10



>> Да де ама ако "нещото" трябва да е изпращане на email или SMS или въобще >> "уведомяване" на друга програма - извън RDBMS ...

Може да ползваш SQLMail :) --не че съм го правил
Другия вариант е Extended Stored Proc .
С нея ако искаш и компютъра на Марс, може да пратиш.




Страници по тази тема: 1 | 2 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.