Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1
  • 2
  • 3

ТЕМА: Oracle. Автоматическая передача программе новых записей

Oracle. Автоматическая передача программе новых записей 18 июль 2011 02:29 #2374

  • Olessa
  • Olessa аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 42
  • Спасибо получено: 0
Помогите решить проблему!
есть простенькая прога которая через SQL запрос выбирает данные из элементарной таблички Oracle.
просьба нарисовать пример: как реализовать чтобы Oracle сам инициировал передачу новообразованых записей данных в табличке клиентской проге (пример может быть для проги на C++ или Delphi)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Автоматическая передача программе новых записей 18 июль 2011 02:38 #2375

  • Dior
  • Dior аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 41
  • Спасибо получено: 0
Наверное надо известить клиента о появлении новых записей.
Можно попытаться сделать это из триггера after-insert через DBMS_PIPE или DBMS_ALERT.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Автоматическая передача программе новых записей 18 июль 2011 02:39 #2376

  • Gubin
  • Gubin аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 42
  • Спасибо получено: 0
ну вот так, сразу что в голову пришло....
короче можно так:
создать дополнительную таблицу.
на основную таблицу поставить триггер на вставку, так что бы
он сбрасывал все новые записи в доп. таблицу.
а из делфи при помощи таймера постоянно обращаться к новой таблице
(раз в минуту например) и в случае получения записей считывать их и удалять...
(ну это самый простой пример, его может сделать любой я уверен что и ты
без всякой помощи его сделаешь)
если не устроит тебя такой ответ то дай знать,
может че другое в голову придет..

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Автоматическая передача программе новых записей 18 июль 2011 02:41 #2377

  • Olessa
  • Olessa аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 42
  • Спасибо получено: 0
про временную табличку мне сразу идея пришла, но это опять же - необходимо клиентской проге к Oracle периодически стукать, что крайне нежелательно (что-то проскакивало в соседних конфах по ADO на счёт авто обновления по поводу новых записей для MS васика и С++ - киньте примером или ссылкой на исходник если таковые у вас есть)!!!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Автоматическая передача программе новых записей 18 июль 2011 02:43 #2378

  • Joker
  • Joker аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 46
  • Спасибо получено: 0
короче лучший вариант в это случае сделать так:
опять таки как говорил gubin создать триггер на вставку записей...

затем написать DLL и подключить ее на сервере,
которая будет собирать информацию о вставленных записях и затем
будет передавать их клиенту

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Автоматическая передача программе новых записей 18 июль 2011 02:44 #2379

  • Dior
  • Dior аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 41
  • Спасибо получено: 0
зачем городить какие-то Dll. чем не устраивает DBMS_PIPE/DBMS_ALERT?
сначала говоришь серверу что хочешь получать сообщения, потом в тригер AFTER UPDATE и/или AFTER INSERT ставишь
посылку сообщения через DBMS_PIPE/DBMS_ALERT (в данном случае, на мой взгляд, лучше использовать DBMS_ALERT),
программа получает это сообщение и обновляет данные.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3