Как наблюдать, изменилось ли содержимое базы данных - PullRequest
0 голосов
/ 03 июня 2011

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

Есть ли встроенные механизмы?Я читал о ContentObserver классе, но, насколько я понимаю, они могут использоваться только с ContentProviders , а не при непосредственном доступе к базе данных.

1 Ответ

0 голосов
/ 03 июня 2011

мы можем сделать то же самое с базой данных оракула. Но sqlite не поддерживает хранимые процедуры. Что вы можете сделать, так это запустить поток для работы с базой данных. Проверяйте данные в базе данных всегда. когда бы ни происходило какое-либо изменение в базе данных. проверьте базу данных, если размер базы данных изменится, тогда вы можете вызвать ваше приложение.

Как вызвать Java-программу из db call

Вызов Java-программы из хранимой процедуры Oracle.

Предположим, что существует хранимая процедура Oracle OSP1 и программа Java Java1. Теперь нужно создать хранимую процедуру OSP2 на Java1. Тогда мы можем просто вызвать OSP2 из OSP1.

Шаги вкратце:

  1. Используйте loadjava (исполняемый файл командной строки, находящийся в каталоге bin, где вы установили oracle), чтобы загрузить класс java в oracle. $ bin> loadjava -user scott / tiger Java1.class

Указанный выше класс теперь загружен в базу данных и его можно увидеть в представлении dba_object.

  1. Теперь создайте хранимую процедуру OSP2 на основе Java1.class, загруженную в базу данных. $ bin> создать или заменить процедуру OSP2 в качестве языка Java имя 'Java1.method1 ()'; где method1 () - это метод в Java-классе Java1.

  2. Теперь OSP2 может выполняться напрямую: выполнить OSP2; или вызывается из dbms_java или может быть вызван из другой хранимой процедуры OSP1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...