proxy-сервер в сети и потеря данных при пересылке
proxy-сервер в сети и потеря данных при пересылке
примерно года три назад в сети, где устанавливалась программа, был установлен proxy wingate и происходила потеря данных при пересылке на машину, на которой располfгался InterBase 6. сейчас замечал ли кто подобные проявления в приложениях под FireBird?
-
- Сообщения: 22
- Зарегистрирован: 01 ноя 2004, 11:11
не понятно- пользователи от сервера БД отделены прокси или просто два компа в одной подсети, или на одном компе и прокси и БД?
но как бы то ни было я не помню чтобы в телеконференциях такая проблема всплывала.
и что значит потеря данных? может там (в БД) индексы порушились, может UDF левая. почему связь потери данных именно с прокси?
но как бы то ни было я не помню чтобы в телеконференциях такая проблема всплывала.
и что значит потеря данных? может там (в БД) индексы порушились, может UDF левая. почему связь потери данных именно с прокси?
Владимир Каратаев, более детальное описание ситуации.
БД находилась там же где и прокси-сервер (с этой машины необходимо было выходить в интеренет). периодически, без каких либо закономерностей (покрайней мере заметить их не удалось), данные отправленные клиентом с другой машины просто не доходили до базы. в клиенте выдовалось, что все ОК, а в БД запись не приходила. после того как с машины с БД убрали прокси - проблема исчезла. сейчас в этой же сети ставится прокси, но уже на шлюзовую машину где нет БД. соответсвенно вопрос мой таков: наличие в сети действующего прокси не может ли привести к таким странным потерям данных вновь. разум отказывается от такого предположения, но все же... практика показала иное...
БД находилась там же где и прокси-сервер (с этой машины необходимо было выходить в интеренет). периодически, без каких либо закономерностей (покрайней мере заметить их не удалось), данные отправленные клиентом с другой машины просто не доходили до базы. в клиенте выдовалось, что все ОК, а в БД запись не приходила. после того как с машины с БД убрали прокси - проблема исчезла. сейчас в этой же сети ставится прокси, но уже на шлюзовую машину где нет БД. соответсвенно вопрос мой таков: наличие в сети действующего прокси не может ли привести к таким странным потерям данных вновь. разум отказывается от такого предположения, но все же... практика показала иное...
-
- Сообщения: 22
- Зарегистрирован: 01 ноя 2004, 11:11
вообще вингейт я оч сильно не люблю (и кто сказал, что это клас прокси- большего дерьма в жизни не встречал) но тут не обязат вингейт, может и другой прокси быть виноват. настраивать надо их аккуратно. они ж могут, например, перехватывать на сервере (а клиентская часть прокси- на клиента) вызовы sock-функций и принудит перенаправлять траффик куда укажешь. это используется для программ, не умеющих работать через прокси (особенно игры). я использовал на практике ms proxy, работающий на той же машине, что и firebird. вот уже 5 лет как живут вместе прекрасно.indra писал(а): БД находилась там же где и прокси-сервер (с этой машины необходимо было выходить в интеренет). периодически, без каких либо закономерностей (покрайней мере заметить их не удалось), данные отправленные клиентом с другой машины просто не доходили до базы. в клиенте выдовалось, что все ОК, а в БД запись не приходила. после того как с машины с БД убрали прокси - проблема исчезла.
еще один такой момент. многие программисты увлекаются конструкцией try...except...end, чтобы "забить" сообщение об ошибке. т.е. подавляют ошибочные ситуации. может и в данном случае тоже самое- ошибка возникла, ее подавили и получилось, что все "ОК".
еще. вставка может идет через процедуру и там есть условие (ошибочное) по которому не происходит записи, либо с помощью when подавляется возникновение исключения.
сейчас будет стоять на выделенной машине для интернет соединения Kerio Winrout 6.0.8.
у меня в коде жестко указано, что лишь в случае успешного выполения операции (insert, update, delete) выдавать окошко в сообщением "ОК". поэтому если ошибка возникает, то выдается на непонятном английском матерное выражение и пользователь нервно дышит в трубку.
версию wingate не помню - три года назад это было и не я устанавливал.
у меня в коде жестко указано, что лишь в случае успешного выполения операции (insert, update, delete) выдавать окошко в сообщением "ОК". поэтому если ошибка возникает, то выдается на непонятном английском матерное выражение и пользователь нервно дышит в трубку.
версию wingate не помню - три года назад это было и не я устанавливал.