powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Подскажите API функцию перехвата сообщений
18 сообщений из 18, страница 1 из 1
Подскажите API функцию перехвата сообщений
    #34650397
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема: Необходимо при внесении изминений в БД перехватывать сообщение об ошибках доступа к базе - при этом база находиться "read only"(режим просмотра)
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34650549
Фотография AIZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем не устраивают свойства Transaction?
Код: plaintext
1.
2.
SQLCode Long	The success or failure code of the most recent operation.Return codes:0 - Success100 - Not found-1 - Error (use SQLDBCode or SQLErrText to obtain the details)
SQLDBCode	Long	The database vendor's error code.
SQLErrText	String	The database vendor's error message.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34650697
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIZА чем не устраивают свойства Transaction?
Код: plaintext
1.
2.
SQLCode Long	The success or failure code of the most recent operation.Return codes:0 - Success100 - Not found-1 - Error (use SQLDBCode or SQLErrText to obtain the details)
SQLDBCode	Long	The database vendor's error code.
SQLErrText	String	The database vendor's error message.

А смогу ли я блочить сообщения и бросать своё?
Смысл в том что есть ПО, которое уже позно переписывать и нужно, и есть необходимость открывать прогу только для чтения. Я хочу обрезать на уровне базы, а сообщения об ошибках перехватывать и давать свои. Можна ли так вообще? Спасибо
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34650726
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashukПроблема: Необходимо при внесении изминений в БД перехватывать сообщение об ошибках доступа к базе - при этом база находиться "read only"(режим просмотра)
Как перехватывать не знаю. Но можно например имитировать успешную модификацию данных.
Если база - Oracle, то коннектиться в отдельную схему, где посоздавать вьюхи на таблицы в реальной схеме. А на вьюхи навесить пустые триггеры insteadof.

Если СУБД другая, то наверно есть аналогичная функциональность.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34650744
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky SashukПроблема: Необходимо при внесении изминений в БД перехватывать сообщение об ошибках доступа к базе - при этом база находиться "read only"(режим просмотра)
Как перехватывать не знаю. Но можно например имитировать успешную модификацию данных.
Если база - Oracle, то коннектиться в отдельную схему, где посоздавать вьюхи на таблицы в реальной схеме. А на вьюхи навесить пустые триггеры insteadof.

Если СУБД другая, то наверно есть аналогичная функциональность.
СУБД ASA к сожалению или к счастью - пока незнаю)) Спасибо
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651348
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashukСмысл в том что есть ПО, которое уже позно переписывать и нужно, и есть необходимость открывать прогу только для чтения. Я хочу обрезать на уровне базы, а сообщения об ошибках перехватывать и давать свои. Можна ли так вообще? Спасибо
Может стоит не заморачиваться с программированием, а решить проблему административно?
Например если есть архивная база данных в которую нельзя вносить изменения а в режиме ReadOnly она не работает (постоянно ругается), то может проще каждую ночь восстанавивать БД из архивной копии и не заморачиваться тем что и кто внес в БД в течении дня?
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651374
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Estets SashukСмысл в том что есть ПО, которое уже позно переписывать и нужно, и есть необходимость открывать прогу только для чтения. Я хочу обрезать на уровне базы, а сообщения об ошибках перехватывать и давать свои. Можна ли так вообще? Спасибо
Может стоит не заморачиваться с программированием, а решить проблему административно?
Например если есть архивная база данных в которую нельзя вносить изменения а в режиме ReadOnly она не работает (постоянно ругается), то может проще каждую ночь восстанавивать БД из архивной копии и не заморачиваться тем что и кто внес в БД в течении дня?
Это будет неверное решение потому, что всегда играет свою роль человеческий фактор - то восстановили, то забыли... Лучше один раз что-то попытаться написать, чтобы потом забыть об этом. Но Ваша идея имеет право на существование, просто не рационально. Спасибо
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651413
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так тебе что нужно? Запустить базу ASA в режиме только для чтения? Нет ничего проще. Добавь ключик -r в строку запуска сервера и проблема решена. Можешь еще дополнительно положить файл базы на какое-нибудь R/O устройство. Например на неперезаписываемый CD или DVD.
Но вообще-то, вопросы администрирования ASA обсуждаются в соседнем форуме.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651471
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashukЭто будет неверное решение потому, что всегда играет свою роль человеческий фактор - то восстановили, то забыли... Лучше один раз что-то попытаться написать, чтобы потом забыть об этом. Но Ваша идея имеет право на существование, просто не рационально. Спасибо
Вам решать ;) Вопрос в трудозатратах, написать батничек останавливающий сервер, подменяющий файлик и запускающий сервер обратно и вставить его в шедулер, эдак пол часа на все. Курочить БД и разбираться в приложении (даже если есть исходники) почему валятся ошибки при нахожнении базы в RO режиме... сколько у вас это займет?
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651477
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТак тебе что нужно? Запустить базу ASA в режиме только для чтения? Нет ничего проще. Добавь ключик -r в строку запуска сервера и проблема решена. Можешь еще дополнительно положить файл базы на какое-нибудь R/O устройство. Например на неперезаписываемый CD или DVD.
Но вообще-то, вопросы администрирования ASA обсуждаются в соседнем форуме.
да, я понимаю. Мне нужно функцию АРІ для перехвата сообщения.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651490
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Estets SashukЭто будет неверное решение потому, что всегда играет свою роль человеческий фактор - то восстановили, то забыли... Лучше один раз что-то попытаться написать, чтобы потом забыть об этом. Но Ваша идея имеет право на существование, просто не рационально. Спасибо
Вам решать ;) Вопрос в трудозатратах, написать батничек останавливающий сервер, подменяющий файлик и запускающий сервер обратно и вставить его в шедулер, эдак пол часа на все. Курочить БД и разбираться в приложении (даже если есть исходники) почему валятся ошибки при нахожнении базы в RO режиме... сколько у вас это займет?
Суть вопроса состоит из того, что нужно заблочить изминения БД и корректно выводить сообщение об ошибке.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651499
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashuk Estets SashukЭто будет неверное решение потому, что всегда играет свою роль человеческий фактор - то восстановили, то забыли... Лучше один раз что-то попытаться написать, чтобы потом забыть об этом. Но Ваша идея имеет право на существование, просто не рационально. Спасибо
Вам решать ;) Вопрос в трудозатратах, написать батничек останавливающий сервер, подменяющий файлик и запускающий сервер обратно и вставить его в шедулер, эдак пол часа на все. Курочить БД и разбираться в приложении (даже если есть исходники) почему валятся ошибки при нахожнении базы в RO режиме... сколько у вас это займет?
Суть вопроса состоит из того, что нужно заблочить изминения БД и корректно выводить сообщение об ошибке.
Например найти все COMMIT в тексте приложения и зименить на ROLLBACK?
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651512
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Estets Sashuk Estets SashukЭто будет неверное решение потому, что всегда играет свою роль человеческий фактор - то восстановили, то забыли... Лучше один раз что-то попытаться написать, чтобы потом забыть об этом. Но Ваша идея имеет право на существование, просто не рационально. Спасибо
Вам решать ;) Вопрос в трудозатратах, написать батничек останавливающий сервер, подменяющий файлик и запускающий сервер обратно и вставить его в шедулер, эдак пол часа на все. Курочить БД и разбираться в приложении (даже если есть исходники) почему валятся ошибки при нахожнении базы в RO режиме... сколько у вас это займет?
Суть вопроса состоит из того, что нужно заблочить изминения БД и корректно выводить сообщение об ошибке.
Например найти все COMMIT в тексте приложения и зименить на ROLLBACK?
А это идея, спасибо!! Но пока я остановлюсь на чудо апи функции, мож повезет и кто-то работал с этим. Или я думаю что сам раньше найду, только время бы....
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651555
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashuk White OwlТак тебе что нужно? Запустить базу ASA в режиме только для чтения? Нет ничего проще. Добавь ключик -r в строку запуска сервера и проблема решена. Можешь еще дополнительно положить файл базы на какое-нибудь R/O устройство. Например на неперезаписываемый CD или DVD.
Но вообще-то, вопросы администрирования ASA обсуждаются в соседнем форуме.
да, я понимаю. Мне нужно функцию АРІ для перехвата сообщения.Забудь про функции API, не нужны они тебе.
Запусти базу в R/O режиме и на любую попытку обновить данные сервер будет тебе ругаться: Modifications not permitted for read-only database. SQLSTATE = 42000, SQLCODE = -757
Запусти сервер в режиме русскоязычных сообщений - получишь тот-же текст на русском.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34651557
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashuk wrote:

> А это идея, спасибо!! Но пока я остановлюсь на чудо апи функции, мож
> повезет и кто-то работал с этим. Или я думаю что сам раньше найду,
> только время бы....

Нужно не чудо-функцию искать, а садиться писать нормальную программу.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34652629
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000
Sashuk wrote:

> А это идея, спасибо!! Но пока я остановлюсь на чудо апи функции, мож
> повезет и кто-то работал с этим. Или я думаю что сам раньше найду,
> только время бы....

Нужно не чудо-функцию искать, а садиться писать нормальную программу.
Posted via ActualForum NNTP Server 1.4
Спасибо за совет, а что если эту прогу не я писал.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34652633
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl Sashuk White OwlТак тебе что нужно? Запустить базу ASA в режиме только для чтения? Нет ничего проще. Добавь ключик -r в строку запуска сервера и проблема решена. Можешь еще дополнительно положить файл базы на какое-нибудь R/O устройство. Например на неперезаписываемый CD или DVD.
Но вообще-то, вопросы администрирования ASA обсуждаются в соседнем форуме.
да, я понимаю. Мне нужно функцию АРІ для перехвата сообщения.Забудь про функции API, не нужны они тебе.
Запусти базу в R/O режиме и на любую попытку обновить данные сервер будет тебе ругаться: Modifications not permitted for read-only database. SQLSTATE = 42000, SQLCODE = -757
Запусти сервер в режиме русскоязычных сообщений - получишь тот-же текст на русском.
Подскажите пожалуйста, как это сделать.
...
Рейтинг: 0 / 0
Подскажите API функцию перехвата сообщений
    #34652976
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashuk White Owl Sashuk White OwlТак тебе что нужно? Запустить базу ASA в режиме только для чтения? Нет ничего проще. Добавь ключик -r в строку запуска сервера и проблема решена. Можешь еще дополнительно положить файл базы на какое-нибудь R/O устройство. Например на неперезаписываемый CD или DVD.
Но вообще-то, вопросы администрирования ASA обсуждаются в соседнем форуме.
да, я понимаю. Мне нужно функцию АРІ для перехвата сообщения.Забудь про функции API, не нужны они тебе.
Запусти базу в R/O режиме и на любую попытку обновить данные сервер будет тебе ругаться: Modifications not permitted for read-only database. SQLSTATE = 42000, SQLCODE = -757
Запусти сервер в режиме русскоязычных сообщений - получишь тот-же текст на русском.
Подскажите пожалуйста, как это сделать.
Вообщем как и в любом другом случае, найти все обработчики сообщений от базы и переписать.
Либо Find-ом по "SQLCA.sqlcode", "MessageBox" ".Update(", "EXECUTE IMMEDIATE", "COMMIT" или пройти по отладчиком.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Подскажите API функцию перехвата сообщений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]