|
|
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Это ошибка возникает если юзер пытается нарушить целостность данных... Хотелось бы сменить надпись на более приятную например - Вы пытаетесь сделать ерундушку или ещё чего :). Как добраться до этого текста? Заранее спасибо, Руслан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2003, 14:11 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
В базе данных есть такая фишка, как хранимые процедуры. Там написан текст всех триггеров, которые фокс генерирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2003, 10:17 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Это стандартное сообщение об ошибке, возникающее при генерации кода ошибки 1539. Заменить его невозможно. Однако можно подавить выдачу этого сообщения и выдать свое. Например, если таблица была буферизирована и сброс происходит по команде TableUpdate(), то хотя TableUpdate() вернет .F., но никакого сообщения об ошибке не появится. Далее, используя функцию AERROR() можно уточнить, какая именно ошибка произошла и выдать свое сообщение. Т.е. логика примерно такая: IF TableUpdate()=.F. =AERROR(MyArray) DO CASE CASE MyArray(1,1)=1539 * Ошибка триггера CASE MyArray(1,1)=1884 * Нарушение уникальности индекса типа Primary или Candidad CASE MyArray(1,1)=1526 * Ошибка ODBC CASE InList(MyArray(1,1),1427,1429)=.T. * Ошибка OLE OTHERWISE * Какая-то еще ошибка ENDCASE ENDIF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2003, 14:35 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
>Это стандартное сообщение об ошибке, возникающее при генерации кода >ошибки 1539. Заменить его невозможно. Однако можно подавить выдачу >этого сообщения и выдать свое. Есть такой человек в этом форуме Самир, он написал мне ответ как заменить этот текст, да вот проблема - письмо потерялось, и как это сделать вспомнить немогу :( ... и на e-mail Самиру письмо отправить немогу... mail демон отвечает Failed to deliver ... Вот такие вот дела... С уважением к вам Владимир! p. s. Смысл изменения текста был таков: какой-то камандой, необходимо было открыть тот файл в самом фокс про, и просто ручками попровить текст Trigger failed на свой ... да вот команду и само имя того файла вспомнить не могу ... Помню ещё точно, был там ещё глюк с кодировками 1252 ... а мне нужно было 1251 поставить ... тогда ещё не представлял что это такое, поэтому всё отложил ... а теперь оно потерялось ..жаль :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2003, 16:14 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Ну в принципе, кончено можно. Текст сообщений об ошибках содержится в библиотеках поддержки VFPx....DLL. Но уж больно меня напрягает "ломать" системные файлы, тем более если можно обойтись без этого. Есть еще ряд соображений: -) В руссифицированной Run-Time библиотеке (т.е. в готовом EXE) этот текст и так будет по русски (вероятно "Ошибка триггера") -) Этот текст всегда одинаковый вне зависимости от причины ошибки триггера. Лично мне представляется более правильным "разбор полетов" производить в отдельной процедуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2003, 16:47 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
прошло 5 лет.. а вопрос до сих пор не закрыт и актуален.. ну как убрать это - "тринер файлед", "реверт" например этим: в главной базе "..." есть зависимые, подчиненные записи , удаление невозможно. и просто окей! может ктото научился это делать? ведь эти сообщения гдето лежат в фоксе, можно как то их подправить.. перевести на понятный пользователю язык.. пользователь не понимает что такое тригер и что такое реверт.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2008, 19:46 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
все файлы просмотрел где искать незнаю может ктото подскажет где хранятся эти сообщения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 10:25 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Поставь свой обработчик ошибок on error Там игнорирую ошибку с кодом 1539 - Trigger failed in "cursor". .... case nError=1539 MessageBox('У вас отсутствуют права на изменение данной информации!!!',0+48+0,'Операция отменена!!!') .... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 11:31 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Galyamov Rinat Поставь свой обработчик ошибок on error Там игнорирую ошибку с кодом 1539 - Trigger failed in "cursor". .... case nError=1539 MessageBox('У вас отсутствуют права на изменение данной информации!!!',0+48+0,'Операция отменена!!!') .... Posted via ActualForum NNTP Server 1.4 1. где поставить? в тригере? в самой хранимой процедуре? 2. чем отменять операцию удаления? recall не работает, потому что вып. тригеррр, таблереверт тоже не работает, потому что база локальная буферы не пользуем, ролбак тоже не работает, т.к. тригер запущен фоксом и транзакция вып тригера контролируется им.. чем отменить? вот бы найти эту форму и скорректировать , наверно есть класс с этой формой и с него генерятся все сообщения об ошибках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 13:05 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Во-первых, Вы крайне не внимательно прочитали это старое сообщение. Ясно же было сказано, что в руссифицированных версиях Run-Time библиотек сообщение будет по русски. Правда, все-равно пользователь мало что поймет. Во-вторых, для модификации данных лучше использовать буферизацию. В этом случае Вы имеет полный контроль надо сообщениями об ошибках триггера, да и много других проблем решаются значительно проще. В-третьих, все-таки надо хотя бы самому хоть иногда думать. Команда ON ERROR - это настройка. Причем настройка глобальная. Как Вы думаете, а где вообще делают глобальные настройки? В какой момент? В общем, решение есть. Причем уже 5 лет назад было. Но не перевелись еще люди, не желающие думать самостоятельно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:01 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
правильное решение вот: Смысл изменения текста был таков: какой-то камандой, необходимо было открыть тот файл в самом фокс про, и просто ручками попровить текст Trigger failed на свой ... да вот команду и само имя того файла вспомнить не могу ... Помню ещё точно, был там ещё глюк с кодировками 1252 ... а мне нужно было 1251 поставить ... тогда ещё не представлял что это такое, поэтому всё отложил ... а теперь оно потерялось ..жаль :( Владимир, вам же сказали, что есть оно, вы же предлагаете уйти от решения... можно конечно выкрутиться, но то что вы предлагаете Владимир, не решение, или точнее решение не достойное настоящего профессионала.. слишком просто, вы все на буфер ссылаетесь, но обьясните мне, зачем мне буфер если работа с базой происходит локально без сети? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:09 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
но обьясните мне, зачем мне буфер если работа с базой происходит локально без сети? Интересная логика. А где-то, кто-то когда-то утверждал, что буфер нужен только для сети? Не надо путать теплое с мягким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:27 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
проходящий. но обьясните мне, зачем мне буфер если работа с базой происходит локально без сети? Интересная логика. А где-то, кто-то когда-то утверждал, что буфер нужен только для сети? Не надо путать теплое с мягким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:41 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
обьясняю, буфер был создан и предназначен прежде всего для разделяемого сетевого обращения к таблицам т.е. для того чтобы уменьшить нагрузку блокировками, работая с буфером вы не держите таблицу, таблица блокируется только в момент записи.. это понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:43 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Если это объяснение для меня, то оно мимо кассы. Мне не надо рассказывать про буферизацию. И создавалась она отнюдь не только для сети. Учите матчасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:46 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
авторВ-третьих, все-таки надо хотя бы самому хоть иногда думать. Команда ON ERROR - это настройка. Причем настройка глобальная. Как Вы думаете, а где вообще делают глобальные настройки? В какой момент? натройка, но как отменить удаление? в хранимой процедуре нельзя, что мне даст эта глобальная настройка? и зачем она мне глобальная, если нужна будет только в момент выполнения тригера.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:48 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
проходящий.Если это объяснение для меня, то оно мимо кассы. Мне не надо рассказывать про буферизацию. И создавалась она отнюдь не только для сети. Учите матчасть. мне учить ? все это создавалось на моих глазах и буферизация создана была как раз тогда когда мы занимались ручной блокировкой строк в таблицах.. она сняла все эти вопросы сетевого обращения к базам.. учите лучше вы, и начните с 89 го года.. тогда увидите весь процесс развития фокса, всю его историю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:53 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
она сняла все эти вопросы сетевого обращения к базам.. Побочные эффекты не изменяют причину появления буферизации. Все-таки у Вас с логгикой что-то не так. начните с 89 го года.. тогда увидите весь процесс развития фокса, всю его историю Вот как раз где-то с тех пор и изучаю и что-то за это время про создание буферизации именно для сети пока не видел. Мож кинетесь ссылочкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 14:59 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Побочные эффекты не изменяют причину появления буферизации мнда.. с ног на голову.. побочные.. ХА-ХА-ХА.. хотя не смешно, грусно.. и такие программисты пишут на фокспро... МНДА.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 15:03 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
в чем же тогда основной эффект??? если разделение доступа не основной??? вообще буферизацию первым придумал не фокс, ее придумали в др. базах, и именно с этой целью.. с целью развести блокировки.. но вот пришел пошел мимо и выдал - побочный эффект... а в чем же тогда основной? подозреваю это таблереверт... :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 15:08 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Основной - отделение процесса редактирования данных пользователем от процесса изменения в таблице. И TableRevert в том числе. В качестве бонуса - более легкое управление блокировками. Если они нужны. Ибо при работе с удаленными данными этим занимается отнюдь не фокс, а сервер, на котором храняться эти данные. Вы б поменьше эмоций выплескивали и побольше фактических данных приводили бы, а? Например на сведения от разработчиков о причинах и целях создания механизма буферизации. Разговор был бы предметнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 15:14 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.обьясняю, буфер был создан и предназначен прежде всего для разделяемого сетевого обращения к таблицам т.е. для того чтобы уменьшить нагрузку блокировками, работая с буфером вы не держите таблицу, таблица блокируется только в момент записи.. это понятно? У Вас не правильное понимание того, для чего предназначена буферизация. Цель буферизации - это разделить процесс внесения изменений и процесс сохранения внесенных изменений. Чтобы было понятно, вспомните, как Вы работаете, например, с MS Word или MS Excel. Вы сначала нечто вводите, а потом нажимаете кнопку "Сохранить". Это и есть буферизация в чистом виде. А ведь, MS Word и MS Excel, как правило, используют именно локально. Насчет "таблицы блокируются только в момент записи" - тоже не вполне справедливо. Это зависит от используемого вида (типа) буферизации. Описанное поведение справедливо для оптимистической буферизации. Но для пессимистической буферизации блокировка накладывается немедленно при начале модификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 15:16 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Насчет "таблицы блокируются только в момент записи" - тоже не вполне справедливо. Это зависит от используемого вида (типа) буферизации вот про это вы напрсно, вы придираетесь к словам, я не уточнил, думал и так поймете.. Основной - отделение процесса редактирования данных пользователем от процесса изменения в таблице. это ли ни есть основной момент при работе с данными нескольких пользователей? раньше пользователь открывал запись, блокировал, редактировал, сохранял и снимал блокировку.. это и есть основная проблема разделяемого (сетевого) обращения к таблицам. блокировку теперь можно не делать.. появилась буферизация. при работе с удаленными данными этим занимается отнюдь не фокс, отнюдь.. в моем случае именно фокс и именно локально, на одной машине не подключенной к сети.. и зачем мне тогда буферизация? только ексклюзив.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 15:25 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
это ли ни есть основной момент при работе с данными нескольких пользователей? Это момент просто на сетевых данных проявляется более заметно, но не более того. в моем случае именно фокс и именно локально, на одной машине не подключенной к сети.. и зачем мне тогда буферизация? только ексклюзив.. Не думаю, что авторы буферизации рассматривали Ваш конкретный случай. И то, что Вы не знаете где и как применить на локальной машине буферизацию еще раз говорит об уровне Ваших знаний инструмента. Как говорится "Вы просто не умеете ее готовить". Но не надо в таком случае снисходительно и не особо вежливо обращаться с другими участниками дискуссии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 15:36 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Это момент просто на сетевых данных проявляется более заметно, но не более того. и не менее того.. или вообще никак иначе.. Не думаю, что авторы буферизации рассматривали Ваш конкретный случай разумеется.. они рассматривали в первую очередь случай сети и разделяемого доступа.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 16:03 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
они рассматривали в первую очередь случай сети и разделяемого доступа.. Откуда дровишки? Особенно насчет первой очереди? Ссылку в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 16:09 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.Основной - отделение процесса редактирования данных пользователем от процесса изменения в таблице. это ли ни есть основной момент при работе с данными нескольких пользователей? Нет. Не основной. Вы путаете цели и средства их достижения. Компьютер имеет два вида памяти: оперативную (временную) и постоянную. Все модификации выполняются сначала в оперативной памяти и только потом спускаются по целому каскаду различных промежуточных буферов в постоянную (записываются на диск). Свои собственные буферы имеют самые разные системы и подсистемы. Если Вы будете напрямую редактировать таблицы, Вы будете постоянно "спускать" по цепочке буферов очередные порции изменений. Непрерывно "дергать" процессор, операционную систему и различные "железки" кучей мелких задачек. Т.е. тормозить свою собственную работу вне зависимости от факта работы других пользователей. Следует также заметить, что процесс записи - это самый уязвимый, в смысле целостности данных, процесс. Очень часто на старом железе возникали проблемы при сбое питания. Часть информации сохранилась, а часть оказалась потеряна. Наиболее часто это случалось именно при прямом редактировании данных. Логично сначала накопить тот "пакет" модификаций, который надо "спустить" в постоянную память (записать на диск), а потом одной общей командой выполнить этот процесс записи. Т.е. создать еще один буфер. В FoxPro всегда была буферизация данных. Уже в FoxPro for DOS. Просто в то время у программистов не было возможности как-то управлять этим буфером и приходилось писать собственные "буферы". Либо набор переменных памяти, либо копии таблицы, либо как-то еще. В Visual FoxPro появилась возможность явно управлять буфером. Т.е. основная цель буферизации - это как-то "укрупнить" процесс записи информации. Перейти от большого количества мелких разовых операций к групповым командам. К записи модификаций одним пакетом. Еще раз указываю Вам в качестве примера приложения MS Word и MS Excel. Как следствие, факт создание еще одного, дополнительного буфера предоставил возможность безболезненно откатить сделанные модификации. Отказаться от вносимых изменений. Ведь физически еще ничего не было записано. Достаточно просто уничтожить содержимое буфера без дополнительных "телодвижений". И. В. К.раньше пользователь открывал запись, блокировал, редактировал, сохранял и снимал блокировку.. На самом деле, все то же самое делает и операционная система вне зависимости от установки или снятия блокировки. Физически, информация записывается в какое-то одно, конкретное место на диске. Если два пользователя "одновременно" претендуют на модификацию этого места, то операционная система просто физически не может дать этого сделать. Кто-то запишет свои модификации раньше, кто-то позже. Но ни одновременной записи, ни конфликта не будет. Вопрос в том, какую "порцию" информации считать тем единым и неделимым куском, который не могут одновременно изменять два пользователя. На уровне FoxPro таким единым куском является запись. Не поле, а именно запись. И FoxPro просто не позволит двум пользователям одновременно изменять одну и ту же запись. Опять же вне зависимости от того, устанавливали ли Вы явно блокировки или нет. Однако в реальных задачах запись - это всего-лишь часть чего-то целого. Как правило, модифицируемая информация состоит из многих записей многих таблиц. Т.е. при записи информации необходимо обеспечить запись единым "куском" довольно большого объема информации. И это при том, что уже собственно FoxPro считает, что этот кусок состоит из многих кусочков поменьше. А для операционной системы - это вообще не "монолит", а "песчаная куча". Вот здесь и есть предмет конфликта совместного доступа. Физически, другой пользователь может вклинится в то, что чисто логически считается единой и не делимой информацией. Получится, что часть информации изменена одним пользователем, а часть - другим. Чтобы избежать таких неприятностей в Visual FoxPro используется транзакция. В ранних версиях FoxPro транзакции не было и ее организовывали вручную, устанавливая явные блокировки на несколько таблиц. Ну, а то, что вы подразумевали - это, как правило, банальная лень программистов. Установить запрет на редактирование записи, если ту же самую запись в этот момент редактирует другой пользователь. Это проще . Только и всего... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 16:25 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Владимиру зря вы со мной раговариваете как с сосунком, я думаю когда вы под стол пешком ходили я как раз тем и занимался о чем вы мне здесь рассказываете, по порядку: В FoxPro всегда была буферизация данных очень в этом сомневаюсь, по нескольким причинам 1. была команда get, открывала для редактирования поле, если переменную памяти созданную для внесения изменения в поле называть буфером то вы правы, была... 2.был броус, перемещение из поля пораждало сохранение, тоже можно думать буфер.. но все это бред, комп по определению (точнее операционная система) не должн работать напрямую с данными, если вы знаете досовский ассемблер, то вам не представит труда вспомнит как происходит сохранение данных на диск и через какое прерываните, помоему int 21, для выполнения прерывания необходимо заполнить определенные регистры, типом, и непосредственными данными, указателем на буфер - область памяти выделенную для сохранения данных.. если это буферизация то я тогда анжела девис... можно писать на диск через порт, это сложнее, foxbase так не работал. далее, на диск физически пишется секторами и кластерами, строго опр. размера, точнее даже дорожками, так работает файловая система дос (предок виндовс), это нельзя называть буферизацией о которой мы здесь говорим, это работа компа на физ. уровне и все.. мы же здесь говорим о буферизации в том смысле который реализован в VFP. Физически, информация записывается в какое-то одно, конкретное место на диске. Если два пользователя "одновременно" претендуют на модификацию этого места, то операционная система просто физически не может дать этого сделать. Кто-то запишет свои модификации раньше, кто-то позже. Но ни одновременной записи, ни конфликта не будет вот это полный бред!!! никогда пользователи не конфликтуют за физическое пространство на диске... !!!! эти вопросы разруливает операционка, два пользователя физически не могут конфликтовать за один сектор!! т.к. структура дос этого не допустит никогда! смотрите таблицу FAT и разберайтесь, каждый файл размазан по диску в соответствии с предоставленным (случайно) свободным пространством, информация не записывается в одно конкретное место!!! она записывается кластерами по всему диску (блоками). На уровне FoxPro таким единым куском является запись. Не поле, а именно запись. И FoxPro просто не позволит двум пользователям одновременно изменять одну и ту же запись. Опять же вне зависимости от того, устанавливали ли Вы явно блокировки или нет. - бред! вы путаете физичесие и логические понятия!!! читайте больше! запись вообще не является куском в физическом плане, более того физически она вообще не существует как единица измерения! запись - логическое понятие определенное в структуре файла dbf. а пишется на диск как единица OS (определенная в конкретной ОС), сектор, кластер, и т.д. Как правило, модифицируемая информация состоит из многих записей многих таблиц как правило модифицируемая информация состоит из одного поля размером байт... Вот здесь и есть предмет конфликта совместного доступа. Физически, другой пользователь может вклинится в то, что чисто логически считается единой и не делимой информацией. Получится, что часть информации изменена одним пользователем, а часть - другим. - этого быть не5 может, для этого существует операционная система, она никогда не смешает записываемые куски, она сделает так: запишет ваши изменения, а потом запишет мои - получится каша, но это произойдет не одновременно! если вы не знаете как работает винт, то я вам поясню - оборот - дорожка считана или записана, этим управляет контроллер, он подчиняется операционке, та следит за порядком, иначе полетит фся файловая система.. Ну, а то, что вы подразумевали - это, как правило, банальная лень программистов. Установить запрет на редактирование записи, если ту же самую запись в этот момент редактирует другой пользователь. Это проще. Только и всего... не знаю о чем вы и что я подразумевал, но вот блокировки записи в фокпро были всегда как и во всех настольных субд того времени, поднимите доку , как впринципе и транзакции, не думайте что мир начался с вас.. а до вас ничего небыло и все были дураками.. это не так. по поводу буферизации, история такова, в 90м с фокпро конкурировал парадокс и кларион, интересны решения по совместному доступу к записям и таблицам (обратите внимание!!! не к к физическим данным на диске!!), в кларионе использовалась БУФЕРИЗАЦИЯ!!! ег8о встроенный визард генерил два варианте использования программы - локально и сетевой! изучив что он там генерит, я увидел БУФЕРИЗАЦИЮ!!! не блокировки а буферизацию! хотя и транзакции и блокировки были в языке предусмотренны. в фокспро небыло визарда, были команды блокировок, таблицы, строки (записи). позже фокс сделал буферизацию.. чтобы понимать процессы в развитии ИТ необходимо бегло знать историю становления развития ит, тогда многое становится понятным, и откуда ноги растут и где собака порылась.. вот так ув. господа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:04 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
просто вы путаете буферизацию ОС и буферизацию СУБД, это немного разные вещи... задача буферизации ОС созранить целостность файловой структуры, а задача буферизации СУБД сохранить целостность данных ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:16 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Да, дискуссия перешла в стадию "сам дурак" и обозначился единственный все знающий о фоксе, ДОСе, ассемблере и т.д. Однако этот знаток почему-то до сих пор не научился работать с триггерами. Хотя и рассказывает, правда без достаточной аргументации, даже о порядке мышления разработчиков фокса. прошло 5 лет.. а вопрос до сих пор не закрыт и актуален.. ну как убрать это - "тринер файлед", "реверт" например этим: в главной базе "..." есть зависимые, подчиненные записи , удаление невозможно. и просто окей! может ктото научился это делать? Остальные, разумеется, ничего об этом не знают, они ж только вчера родились. Но знаток, почему-то, опять же, у этих недорослей спрашивает. Они то вот научились, а знаток - нет. Что-то тут не так. Ну что ж, счастливо оставаться вместе с Вашими заблуждениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:19 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
глупость полная.. как работает тригер я не спрашивал, я спрашивал как в сообщении исправить сообщение .. :-)) а по поводу че спрашивает? ну я спрашиваю у тех кто знает, а не у тех кто покричать горазд... покричать я тоже могу, о многом, многому могу научить и подсказать, жаль, действительно прошло 5 лет а так никто и не нашел требуемого решения.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:34 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
не с целью нравоучений, просто для ознакомления с опытом поведаю, откройте доку за 92 год, там подробно описаны методы работы в сетях с разделяемым доступом: рассматривается два варианта 1. блокировки 2. буферизация.. вот откуда такие убеждения.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:37 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.... по поводу буферизации, история такова, в 90м с фокпро конкурировал парадокс и кларион, интересны решения по совместному доступу к записям и таблицам (обратите внимание!!! не к к физическим данным на диске!!), в кларионе использовалась БУФЕРИЗАЦИЯ!!! ег8о встроенный визард генерил два варианте использования программы - локально и сетевой! изучив что он там генерит, я увидел БУФЕРИЗАЦИЮ!!! не блокировки а буферизацию! хотя и транзакции и блокировки были в языке предусмотренны. в фокспро небыло визарда, были команды блокировок, таблицы, строки (записи). позже фокс сделал буферизацию.. чтобы понимать процессы в развитии ИТ необходимо бегло знать историю становления развития ит, тогда многое становится понятным, и откуда ноги растут и где собака порылась.. вот так ув. господа. Уважаемый, прочитав топик понял только то что Вы в одну кучу смешали историю и реальность, пытаясь доказать что мы все неправильно понимаем термин "буферизация". Но все его понимают как "буферизация в VFP" и поверьте - понимают однозначно со всеми ее особенностями, а Ваше трактование интересно только для "общего развития". Бывает что под одним термином скрываются разные понятия - давайте будем доказывать что было раньше, то и правильно. В FPD дбф-ку базой данных называли, давайте тому что сегодня понимается под базой данных другой термин придумаем и всех заставим его применять. Про слово "сервер" я вообще молчу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:41 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К. Владимиру зря вы со мной раговариваете как с сосунком, я думаю когда вы под стол пешком ходили я как раз тем и занимался о чем вы мне здесь рассказываете, Почему же? Вы почитайте СВОИ посты? КАК можно разговаривать при таких ответах? Смотрите, что у Вас получается: И. В. К.комп по определению (точнее операционная система) не должн работать напрямую с данными Хм... А я разве говорил не это? Просто Вы рассматриваете одну сторону этого процесса, а я говорю о более общей ситуации. Поскольку Вы утверждаете, что все знаете, то я не буду рассказывать про кеш ОС, файловый кеш, кеш объекта, кеш формы и т.д. и т.п. Ну, да, конечно, это все НЕ буферы. Название другое, понимаете ли... Дальше все то же самое. Вы просто повторяете все то, что я сказал, но другими словами. Не вижу противоречия. В принципе, я могу ответить Вам и в Вашем стиле. Но, вообще-то, я предполагаю, что Вы задали вопрос не с целью себя доказать, а с целью прояснить какие-то непонятные лично для Вас моменты. Исходя из этого предположения повторюсь. Цель буферизации - это формирование достаточно большого пакета изменений, которые затем будут сброшены одной командой. На уровне пользователя - это разделение процесса ввода изменений и процесса сохранения этих изменений на диск. Разрешение конфликтов совместного доступа - это уже следствие. Побочный результат использования буферизации. Ведь Вы сами сказали, что "разрулить" конфликт совместного доступа можно и без буферизации. Прямыми блокировками. Только ради этого создавать буферизацию просто не имело смысла. Еще раз обращаю Ваше внимание, на продукты MS Word и MS Excel, которые Вы с таким упорством игнорируете. Эти продукты изначальны были "заточены" для локального использования только и исключительно на одном компьютере одним пользователем. Тем не менее, буфер у них есть! Как Вы думаете, зачем? Почему они не пишут сразу на диск? Ведь нет же никаких попыток совместного использования? Да и пользователи не приставали бы с дурацкими вопросами, а куда все делось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:41 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.... жаль, действительно прошло 5 лет а так никто и не нашел требуемого решения.. Кроме Вас оно похоже никому и не нужно, проверка через TableUpdate() устраивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:56 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
мнда, тяжело с малолетками.. или как там, начинаешь себя чувствовать стариком когда видишь что на форумах сплош малолетки.. 1. Прямыми блокировками. Только ради этого создавать буферизацию просто не имело смысла. ну бред полный!!! ну вы что не знаете к чему это приводет? не слышали про замок? блокировка приводит к тому что висит все! один захватил и не дает другим - кофе пьет!!! это все очень трудоемко в плане исполнения, отслеживания.. поэтому используется БУФЕРИЗАЦИЯ!!! не буферизация - кеш как вы всевремя путаете, а буферизация данных СУБД. 2.а с целью прояснить какие-то непонятные лично для Вас моменты. правильно, с целью, только эти моменты не как не связанны с буферизацией вопрос был о другом, хотя теперь это уже никому не важно.. 3.Цель буферизации - это формирование достаточно большого пакета изменений, которые затем будут сброшены одной командой ну какого пакета? открыл форму (открыл 20 таблиц) изменил признак .f. на .t. вышел, это большой пакет изменениний? или понятие большой у вас другое? если рассмотреть с точки зрения как это происходит то выглядит это так фокс используя средства ОС открывает файл, читает в выделенный буфер (область памяти) данные из файла в режиме реад. пользователь работает с буфером (областью памяти) команда табле апдате записывает данные буфера на диск установив предварительно врайт, все, данные записаны. другой может тутт же их изменить (переписать), первый не увидит.. а то что вы про ворд рассказываете и ексел, это немного другая история, там нет целостности данных, т.е. нет ключей, нет отношений, индексов и прочего из СУБД, поэтому все просто как в досе, открываете файл ( на уровне дос читаете в выделенную область памяти данные с диска) работаете с ними переодически автосохроняя и подгружая, потом сохраняете и закрываете файл. есть такие функции в ОС открыть, читать, двигать указатель, записать (сбросить буфер), закрыть. Это все не СУБД, в субд требования куда жестче, для того она и субд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:07 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
КАК можно разговаривать при таких ответах? вот именно,вы начали расказывать сколько будет 2*2 с первых постов.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:24 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
мнда, тяжело с малолетками.. или как там, начинаешь себя чувствовать стариком когда видишь что на форумах сплош малолетки.. Сударь, потрудитесь объяснить как Вы на основании имеющихся в теме текстов умудрились определить возраст участников! На чем основана уверенность в малом возрасте собеседников? И, похоже, совершенно непоколебимая? Хотя Вам уже намекали, что некоторые в 1989 году отнюдь на под стол пешком ходили и некоторые вещи могут знать и получше Вас. Так на каком основании Вы присвоили себе право называть других малолетками? Или это теперь такой вид вежливого обращения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:32 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Так на каком основании Вы присвоили себе право называть других малолетками? Или это теперь такой вид вежливого обращения? на основании ответов.. наверно.. хотя тех кто в 89 м малолетками никто не называл.. да и те кто в 89 м на свой счет и не примут эту шутку про старика.. :-))) ладно, не надо бычиться, коллеги, это же просто работа... хоть ваши познания меня и шокировали, однако могу пояснить - ничего личного, типичная дискуссия.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:39 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.мнда, тяжело с малолетками.. или как там, начинаешь себя чувствовать стариком когда видишь что на форумах сплош малолетки.. 1. Прямыми блокировками. Только ради этого создавать буферизацию просто не имело смысла. ну бред полный!!! ну вы что не знаете к чему это приводет? не слышали про замок? блокировка приводит к тому что висит все! один захватил и не дает другим - кофе пьет!!! "И эти люди еще запрещают мне ковырять в носу" (С) "мнда, тяжело с малолетками.."(с) Вы вообще-то с FoxPro работали? Хотя бы с DOS-версией? Знаете, чем отличается блокировка строки от блокировки таблицы? Блокировка ни в коем случае не запрещает читать данные. Она всего-лишь запрещает модифицировать данные. Причем только те, которые и были заблокированы. Все остальные - прекрасно продолжают работать. И. В. К.это все очень трудоемко в плане исполнения, отслеживания.. "мнда, тяжело с малолетками.." (с) Наоброт, это все решается элементарно. Разумеется, если Вы хотя бы пробовали это делать в FoxPro. И. В. К.2.а с целью прояснить какие-то непонятные лично для Вас моменты. правильно, с целью, только эти моменты не как не связанны с буферизацией вопрос был о другом, хотя теперь это уже никому не важно.. Почему же. Важно. Просто Вы пошли по стандартному пути - если проблему нельзя решить привычным лично Вам способом, значит, данный язык программирования - плохой. Вам указали пути и способы решения. Ваша реакция была - нет, я так делать не буду, поскольку не вижу в этом смысла. Вот Вам и пытаются объяснить смысл. И. В. К.3.Цель буферизации - это формирование достаточно большого пакета изменений, которые затем будут сброшены одной командой ну какого пакета? открыл форму (открыл 20 таблиц) изменил признак .f. на .t. вышел, это большой пакет изменениний? или понятие большой у вас другое? "мнда, тяжело с малолетками.." (с) Вы заранее знаете, что именно изменит пользователь? Или Вы предполагаете разный стиль написания приложения? Вот в этой форме много изменяют, поэтому буду использовать буферизацию, а вот в этой мало, поэтому буферизацию использовать не будут! И. В. К.а то что вы про ворд рассказываете и ексел, это немного другая история, там нет целостности данных, т.е. нет ключей, нет отношений, индексов и прочего из СУБД, поэтому все просто как в досе, открываете файл ( на уровне дос читаете в выделенную область памяти данные с диска) работаете с ними переодически автосохроняя и подгружая, потом сохраняете и закрываете файл. есть такие функции в ОС открыть, читать, двигать указатель, записать (сбросить буфер), закрыть. Это все не СУБД, в субд требования куда жестче, для того она и субд. "мнда, тяжело с малолетками.." (с) Вы вообще-то понимаете зачем я приводил в качестве примера Word и Excel? Вы ведь упорно настиваете на том, что буферизация не нужна, если работа происходит на одном компьютере с одним клиентом. Я и привел пример программ, которые используют буферизацию, хотя работают на одном компьютере с одним клиентом, да еще, по Вашим же собственным словам, там все происходит значительно проще чем в СУБД. Однако в этом случае Вы не видите ничего предосудительного, а в случае более сложной системы почему-то упорно отказываетесь это использовать. PS: Извиняюсь, что несколько перборщил с "остротами", но, как Вы, так и Вам. Несколько перефразируя: Относитесь к другим так, как хотели бы чтобы относились к Вам. Вы ЭТОГО хотели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:40 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Блокировка ни в коем случае не запрещает читать данные. Она всего-лишь запрещает модифицировать данные. Причем только те, которые и были заблокированы. Все остальные - прекрасно продолжают работать. ну вот и ждите, пусть клиент ждет вместе с вами, все сидим курим пока я заблокировал и кофе пью... вы вообще с фоксом работаете или с дельфи? может вы вообще из другой области? блокировки не решаются элементарно, во всяком случае в досовском фоксе не елементарно, каждое открытие, модификация и закрытие должны собровождаться блокировками.. с учетом того что все делалось в коде use и т.д. нужно было крыжить тексты искать где пропущено закрытие блокировки или ее открытие.. значит, данный язык программирования - плохой. был бы он для меня плохой я бы сейчас не с вами разговаривал а сидел бы в C# например... Ваша реакция была - нет, я так делать не буду, поскольку не вижу в этом смысла ну почему же, смысл есть, но есть и более оригинальное решение, которое я пытаюсь найти 2 е сутки.. Вы ведь упорно настиваете на том, что буферизация не нужна ну как вам обьяснить, вот если вы запустите фоксбасе в досе, откроете через юсе таблицу и будете с ней работать, вы думаете в трактумой вами буферизации нет? В том то и дело, буферизация есть и в фоксе дос, просто это буферизация ОС, это не то о чем мы говорим! поймите это! а насчет малолеток - вы меня не обидели, меня это не трогает, чес. слово, видно с возраста вышел когда это обижает.. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:55 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.мнда, тяжело с малолетками.. Куда уж нам до ветерана Куликовской битвы ... ЗЫ "Дурак может задать такой вопрос, на который не ответит сотня мудрецов" (C) Восточная мудрость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 20:08 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Владимир! вот я не поленился чтобы расставить точки над i открыть книжку по фоксу пишу вам оттуда дословно: в vfp существует два типа блокировок: 1. полная - запрещает чтение запись и изменение структуры... 2. блокировка изменений запрещает запись и изменение структуры это ответ на ваше : Блокировка ни в коем случае не запрещает читать данные. Она всего-лишь запрещает модифицировать данные. Причем только те, которые и были заблокированы. Все остальные - прекрасно продолжают работать. далее: можно блокировать запись set multilolocks ..., rlock, lock почитайте как это работает если не лень.. тут кто то спрашивал с чего я взял что буферизация придумана для разделяемого доступа? Вот далее написано: возможность использования буферов при редактировании данных значительно упрощает совместную обработку данных... при использовании буферов автоматически осуществляется тестирование данных, блокировка и снятие блокировки с таблиц и записей. с помощью буфероввы можете достаточно просто определить и разрешить конфликты при операциях модификации данных. текущая запись копируется в опер память или на жесткий диск под управлением vfp. др пользователи могут в это время без помех получить доступ к этой записи... и т.д. бла-бла-бла.. далее: ТИПЫ БЛОКИРОВОК 1 - буф. не используется 2.- пессимист... 3.- оптимист.. 4-пессим табл.. 5-оптим табл... не об этом мы весь день спорим? да, книжка: Работа в Visual FoxPro на примерах (версия 3.0 для Windows) каратыгин, Тихонов, тихонова бином москва 1995 я это читал давно и помню, а вы мне тут все лапшу на уши вешаете..студенты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 20:29 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К. Владимир! вот я не поленился чтобы расставить точки над i открыть книжку по фоксу пишу вам оттуда дословно: в vfp существует два типа блокировок: 1. полная - запрещает чтение запись и изменение структуры... Самплес в студию .... И. В. К.... почитайте как это работает если не лень.. На заборе тоже написано, а за забором нету Если не лень - пример кода блокировки чтения. Монопольное открытие не канает. Эту книгу полистай. Ее кстати не без участия Владимира писали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 20:53 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
"И. В. К." <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5213017@sql.ru... > Автор: И. В. К. > мнда, тяжело с малолетками.. > или как там, начинаешь себя чувствовать стариком когда видишь что на > форумах сплош малолетки.. > > 1. Прямыми блокировками. Только ради этого создавать буферизацию > просто не имело смысла. > > ну бред полный!!! ну вы что не знаете к чему это приводет? не слышали > про замок? > > блокировка приводит к тому что висит все! один захватил и не дает > другим - кофе пьет!!! Ага - точно!!! Есть у нас такие программеры. Еще на стадии просмотра данных, до момента начала редактирования блокируют необходимые записи - и хоть ты тресни, но даже посмотреть одни и те же данные пользователи не могут!!!! Вы, видимо к таким же относитесь!!! А ведь можно даже без буферизации ("буферизация данных СУБД", как вы выразились) обойтись. Просто ручками создать набор переменных (я использую свойства контролов "VALUE") и при нажатии кнопки изменить выполнить replace или update, которые НЕЯВНО, ТОЛЬКО на момент внесения изменений заблокируют необходимую/ые записи. По сути "ручной" вариант буферизации, которую вводили ТОЛЬКО потому, что никак не могли без нее выйти на сетевое разделение ресурсов. > это все очень трудоемко в плане исполнения, отслеживания.. поэтому > используется БУФЕРИЗАЦИЯ!!! И оссобых проблем не вижу. На одну - две таблицы - несложно. А вот в купе с ControlSource, указывающим на поле буферизованной таблицы - просто прелесть. Ни каких дополнительных движений по модификации ктоме tableupdate выполнять не надо. Значительно сокращается объем кода. > 2.а с целью прояснить какие-то непонятные лично для Вас моменты. > правильно, с целью, только эти моменты не как не связанны с > буферизацией вопрос был о другом, хотя теперь это уже никому не важно.. Я вам указал как сделать так, чтобы можно было прописать свою обработку данного события (отмену вставки/изменения/удаления из-за отказа тригера). Вам это показалось сильно сложно. ("Зачем мне обрабьотчик ошибок. Я ведь даже не знаю что это такое и как оно работает"). Или же слишком просто ("Я лучше поковыряю dll и буду отслеживать, чтобы в новых версиях мои изменения не затерли и распространю эти dll на все машины") > 3.Цель буферизации - это формирование достаточно большого пакета > изменений, которые затем будут сброшены одной командой > ну какого пакета? открыл форму (открыл 20 таблиц) изменил признак .f. > на .t. > вышел, это большой пакет изменениний? или понятие большой у вас > другое? О великий ГУРУ!!! У Вас самый сложный проект, который я видел в своей жизни. Ваша программа даже меняет .f. на .t.!!! Честное слово смешно. Видно что человек либо издевается над всеми либо действительно не очень умный человек, который думает что знает все. Я, честно сказать, склоняюсь ко второму. > если рассмотреть с точки зрения как это происходит > то выглядит это так > фокс используя средства ОС открывает файл, читает в выделенный буфер > (область памяти) данные из файла в режиме реад. пользователь работает с > буфером (областью памяти) > команда табле апдате записывает данные буфера на диск установив > предварительно врайт, > все, данные записаны. другой может тутт же их изменить (переписать), > первый не увидит.. Что вы говорите???? Так вот оно как все в этом мире. Я вам открою большой сектрет. С помощью того же tableupdate можно выдать запрос, что типа "ТОварисч!!! Пока вы вносили изменения другой пользователь там чего - то свое наколбасил посмотрим или перепишем неглядя???". > а то что вы про ворд рассказываете и ексел, это немного другая > история, Ну естественно - другая прога. > там нет целостности данных, Да вы что??? Случайный набор битов??? > т.е. нет ключей, нет отношений, индексов Спорно. Все это там есть, только все это скрыто от пользователя. А так как вы в нем не программите - то и от вас тоже. > и прочего из СУБД, поэтому все просто как в досе, открываете файл ( на > уровне дос читаете в выделенную область памяти данные с диска) работаете с > ними переодически >автосохроняя и подгружая, потом сохраняете и закрываете > файл. > есть такие функции в ОС открыть, читать, двигать указатель, записать > (сбросить буфер), закрыть. Это все не СУБД, в субд требования куда жестче, > для того она и субд. После всего, что вы тут понаписали, очень хочется Вас же и процитировать: "хотя не смешно, грусно.. и такие программисты пишут на фокспро... МНДА.." Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 05:45 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Galyamov Rinat научитесь читать то что вам пишет аппонент, а потом критикуйте.. ваши замечания отправляю в игнор.. т.к. не заслуживают внимания из-за отсутствия понимания предмета обсуждения вами.. Малолетка 1. если рекомендованную книгу писал владимир, не куплю.. ибо думаю - как все измельчало... чел пишет книгу не понимая не зная основ.. 2. сампл? да откройте хелп в конце концов и читайте! use **** exclusive - привиденые выдержки из книги находятся в главе - "работа в локальной сети", книга старая, что приближаете ее к истине в вопросе истории создания буферизации (блокировок). вы же мне пытались доказать что блокировки (буферизация) были созданы для защиты данных от потери при сбое питания например, я же вам толкую - созданы в первую очередь для решения проблем с разделяемым доступом и обработкой данных в СУБД, и говорим мы про СУБД, и ветка эта VFP а не ворд и не ексел, если вы такие спецы в екселе, то нужно писать туда, в ветки по екселю.. по поводу защиты данных, до появления буферизации были гатер и скатер, пользуйтесь! чем вам не буферизация в вашем понимании, и данные защитит от сбоев по питанию и пр. буферизация же это в первую очередь - блокировки! автоматизированные блокировки а не ручные как были до появления буферизации в фокспро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 06:23 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
по поводу книги: Программированием на Visual FoxPro увлёкся в 1997 году и с тех пор является его стойким поклонником. мнда... в это время я уже давно не увлекался... а был гуру смело могу сказать, лекции читал по фоксу.. Занимается программированием на FoxPro (Visual FoxPro) более пятнадцати лет. ну и что делать тем кто в фоксе 20 лет? читать это? ну да можно как биллитристику, перед сном.. чтобы улыбнуло.. :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 06:30 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
по поводу "ручной" блокипровки могу сказать следующее: система может попасть в клинч, или "смертельные обьятия". смертельные обьятие заключается в том, что когда какой-нибудь пользователь, заблокировав запись (или файл), пытается блокировать другую запись, которая уже заблокирована другим пользователем, а тот, в свою очередь, пытается заблокировать запись, блокированную первым пользователем... (дока по фоксу 89-93 гг) буферизация сняла все эти проблемы.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 07:14 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.по поводу "ручной" блокипровки могу сказать следующее: система может попасть в клинч, или "смертельные обьятия". смертельные обьятие заключается в том, что когда какой-нибудь пользователь, заблокировав запись (или файл), пытается блокировать другую запись, которая уже заблокирована другим пользователем, а тот, в свою очередь, пытается заблокировать запись, блокированную первым пользователем... (дока по фоксу 89-93 гг) буферизация сняла все эти проблемы.. А транзакции их обратно вернули. С Вами тяжело общаться, читать Ваши измышления как должно работать, и полное игнорирование того как реально работает. Тут принято свои спорные утверждения подтверждать реальным кодом, а не демагогией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 08:22 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
"И. В. К." <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5213841@sql.ru... > Автор: И. В. К. > Galyamov Rinat > научитесь читать то что вам пишет аппонент, а потом критикуйте.. > > ваши замечания отправляю в игнор.. т.к. не заслуживают внимания из-за > отсутствия понимания предмета обсуждения вами.. Ну что ж, уважаемый, очень хорошо что вы умеете обоснованно отвечать на аргументированные сообщения. > буферизация же это в первую очередь - блокировки! автоматизированные > блокировки а не ручные как были до появления буферизации в фокспро. Но объясните мне, что есть в вашем понимании "автоматизированные блокировки" и кто вам сказал что НЕЯВНЫХ (а в моем понимании это и есть блокировка) блокировок до введения буферизации небыло??? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 10:32 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
"И. В. К." <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5213870@sql.ru... > Автор: И. В. К. > по поводу "ручной" блокипровки могу сказать следующее: > > система может попасть в клинч, или "смертельные обьятия". смертельные > обьятие заключается в том, что когда какой-нибудь пользователь, > заблокировав запись (или файл), пытается блокировать другую запись, > которая уже заблокирована другим пользователем, а тот, в свою очередь, > пытается заблокировать запись, блокированную первым пользователем... > (дока по фоксу 89-93 гг) "система может попасть в клинч" только от неумелых действи программиста!!! Ибо не можешь получить весь ресурс целиком (читай наложить блокировки на все необходимые строки) - отпусти ту часть ресурса, которая тебе в данный момент без надобности. Через rand() миллисекунд попробуешь снова. > буферизация сняла все эти проблемы.. А она не клинит одновременно строки в разных таблицах! И если тебе нужно ГАРАНТИРОВАННО внести изменения в две и более таблиц, либо при неудачи все откатить - только транзакции и не важно, буферизованно это делаешь или нет. Так что молодой и интересный не пудрите мозги, а то новички, случайно зайдя в эту ветку и почитав ваши путанные мысли, вообще впадут в кому и не выйдут оттуда! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 10:38 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Dima T И. В. К.по поводу "ручной" блокипровки могу сказать следующее: система может попасть в клинч, или "смертельные обьятия". смертельные обьятие заключается в том, что когда какой-нибудь пользователь, заблокировав запись (или файл), пытается блокировать другую запись, которая уже заблокирована другим пользователем, а тот, в свою очередь, пытается заблокировать запись, блокированную первым пользователем... (дока по фоксу 89-93 гг) буферизация сняла все эти проблемы.. А транзакции их обратно вернули. С Вами тяжело общаться, читать Ваши измышления как должно работать, и полное игнорирование того как реально работает. Тут принято свои спорные утверждения подтверждать реальным кодом, а не демагогией. ну вот как с вами разговаривать еще? ну студенты.. я вам доку печатаю, вы мне продолжаете хамить.. ну правда, не интересно.. код просите.. вам что доки по фоксу мало???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 10:54 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
"система может попасть в клинч" только от неумелых действи программиста!!! заметте, этот ваш коментарий не мне, а официальной доке по вфп от майкрософт.. по вашему там работают полные дурни.. им до вас далеко... А она не клинит одновременно строки в разных таблицах! не клинит, там продуман весь цыкл блокировок и повторов, ожиданий пр. ну не дураки же писали, а??? умные люди делали. а если вы умнее их - че не в майкрософте досих пор??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 11:05 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
"И. В. К." <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5214661@sql.ru... > ну вот как с вами разговаривать еще? > ну студенты.. Меня умиляют ваши определения. Профи в своем деле наврятли будет бахвалится своими знаниями, а тем более незнаниями! > я вам доку печатаю, вы мне продолжаете хамить.. По поводу доки, выдержек из книг свежее, чем 2000г. (а тем более "док") так и не видел. Опять таки книга в любом случае пишется людми + переводчик может где-то наврать. Любой текст должен быть подвергнут сомнению. Естественно процентов 98-99 сомнений развеиваются простой проверкой и собственным опытом. Ну а 1-2 процента сомнений все же подтверждаются. Вы же верите слепо. И до сих пор тем постулатам которые были высказаны кем-то еще лет 8-15 назад. Еще и нас пытаетесь убедить в вашем понимании этих постулатов. PS Была у нас в универе одна преподша. Так когда ей лабы по классам и наследованию сдавал она говорила - это не правильно, у меня в книжке по другому написано. Убедить было очень сложно, что есть множество путей реализации поставленной задачи и не обязательно НАЗВАНИЯ и суть реализованных методов должны совпадать с написаным в книжке. В конце концов, когда из потока никто по ее мнению не сделал "правильно", но у всех в итоге все работало и выдавало ВЕРНЫЙ результат ее удалось убедить. Вас же, товарищ И.В.К., и убеждать не хочется. Ибо смысла нет. Мы от вас независим. Вы от нас тоже. Предлагаю завершить этот бессмысленный тред. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 11:12 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
"И. В. К." <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5214753@sql.ru... > Автор: И. В. К. > "система может попасть в клинч" только от неумелых действи > программиста!!! > > заметте, этот ваш коментарий не мне, а официальной доке по вфп от > майкрософт.. > по вашему там работают полные дурни.. им до вас далеко... Высказали здесь это Вы, а не "официальная дока по вфп от майкрософт.." Поэтому предлагаю Вам эту точку зрения и попытаться отстоять (что наврятли получится) ибо я вам недавно описал, как не ввести систему в клинч. > А она не клинит одновременно строки в разных таблицах! > > не клинит, там продуман весь цыкл блокировок и повторов, ожиданий пр. > ну не дураки же писали, а??? умные люди делали. Втом то и дело, что точно также можно и руками все сделать (ну тоесть не накладывать блокировок на несколько строк, а по одной - тогда описаного клича в принципе не может возникнуть). Т.о. получается, что вы все таки сравниваете мягкое с теплым. Еще и нас убеждаете, что это все на самом деле более длинное, мяго-теплое! > а если вы умнее их - че не в майкрософте досих пор??? No comment :-) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 11:18 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
1. Профи в своем деле наврятли будет бахвалится своими знаниями, а тем более незнаниями! я не бахвалюсь своими знаниями, я щокирован вашими незнаниями, а это уже другое 2. По поводу доки, выдержек из книг свежее, чем 2000г. (а тем более "док") так и не видел. у меня на столе дока к вфп 2.5а Ptinted in Ireland не могу я вам ее на стол бросить, уж извините, либо ищите либо верте тому что я печатаю. почему я беру именно старые книги - потому что спор возник из-зи того, что было первопричиной создания буферизации, мы попытались проследить ее создание в соответствии со старыми доками, что писали тогда авторы фокса, что при этом думали и для чего все это делали, какую цель приследовали. если вам нужна свежая дока - читайте хелп там это все тоже есть, фокс к счастью сохраняет приемственность и старые языковые конструкции не выбрасывает, поддерживает. 3. Любой текст должен быть подвергнут сомнению согласен, доку часто перепроверяю, ищу недокументированные решения, кстати мой вопрос и был задан с целью найти оригинальное решение о котором нигде не написано, но вы почемуто предпочитаете слепо следовать общепринятой логике, в то же время призывая меня подвергать сомнению все сказанное и сделанное. Логики в ваших суждениях мало. Отсюда делаю заключение, вам не важна истина, вы просто пытаетесь защитить ущемленное ваше самомение, точнее защитить ваши незнания предмета.. психологически это понятно.. типичная реакция двоичника - я учил... почему два... и препод здесь не причем, он вас своим методам работы учил, вы нашли обходной путь, это показатель с одной стороны хитрости, с другой ленности.. 4. Вы же верите слепо. И до сих пор тем постулатам которые были высказаны кем-то еще лет 8-15 назад. Еще и нас пытаетесь убедить в вашем понимании этих постулатов. а как же уважаемый? вы же верите тому что было сделано в математике 300 лет назад? все развивается постепенно поступательно, непрерывно, не нужно терять фундамент, на котором все стоит, иначе здание может покоситься и крыша сьехать.. вот я и смотрю на вас, молодых нахватавшихся макушек, не знающих основ и вижу - крыша набок, фундамента нет... индусы нас победят в этой гонке, если ничего не поменять.. как тут у вас принято говорить - учите матчасть, уважаемый, и начинайте с азов.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 11:37 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К. Dima T И. В. К.... буферизация сняла все эти проблемы.. А транзакции их обратно вернули. .... ... код просите.. вам что доки по фоксу мало???? Мало. И в доке ошибки бывают: HELP VFP6 BEGIN TRANSACTION Command ... When you modify records in a table that is part of a transaction, other users on the network do not have access ( read or write) to the records until you end the transaction. В архиве проект - не поленитесь, скомпилируйте и запустите 2 экземпляра. 1. Если в каждом нажать "Прямая транзакция", то второй будет ждать завершения первой (там видно что из второй чтение заблокированных данных происходит) 2. Если в одном нажать "Прямая транзакция", во втором "Обратная" - получите ту самую мертвую блокировку, которых ныне не существует с Ваших слов. Все вами перепечатанное говорит только о том, что Вы перепечатываете не все что касается Вашего изложения, а только то что подтверждает Ваши измышления. Так бывает обычно с неопытными разработчиками по причине их незнания фокса. Продолжать полемику в русле "Сам дурак" не намерен, будете аргументировать кодом свои изречения - тогда поговорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 12:29 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Dima T Дима, ну что все сначала? все по кругу? теперь будем изучать транзакции? вы хоть помните о чем был разговор? мы говорили вот о чем: мне предложили для обхода сообщения фокса возникающего в результате аварийного завевршения тригера использовать буферизацию... я посетовал на то что как бы в принципе в ней не нуждаюсь конкретно в моем приложении, ибо буферизировать можно, конечно, но я просил подсказать где найти и сменить мессадже.. а буферизацию более логично использовать для разведения разделяемого доступа к данным.. собственно для этого ее и придумали.. ну вот и возник спор.. подняли старую доку, просмотрели.. нет теперь вы мне предлагаете найти все по транзакциям.. зачем? вы их не понимаете? не знаете как они работают? зачем уходить в сторону? транзакция нужна конечно, кто спорит, в особых случаях, не для разведения пользователей, а для выполнения непрерывной операции состоящей их многих шагов, т.е. операции которую нельзя разорвать, т.е. выполнить часть потом продолжить.. транзакция отвечает за выполнение блока либо целиком либо никак.. при чем здесь разведение пользователей и блокировки? да она блокирует необходимые данные, но у нее другие цели.. Продолжать полемику в русле "Сам дурак" не намерен, будете аргументировать кодом свои изречения - тогда поговорим никто вас дураком не называл.. зачем вам мой код не понятно... есть теория есть практика, мы говорим о теории, а именно: для чего создали буферизацию.. если вы сдаете свои позиции, так и скажите, не ставте условий, нечего возразить соглашайтесь с аппонентом.. умейте красиво проигрывать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 13:29 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Через rand() миллисекунд попробуешь снова. зачем выдумывать? rand() и пр. есть стандартная команда на этот случай - set reprocess to * или to automatic ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 14:08 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.мне предложили для обхода сообщения фокса возникающего в результате аварийного завевршения тригера использовать буферизацию... я посетовал на то что как бы в принципе в ней не нуждаюсь конкретно в моем приложении, ибо буферизировать можно, конечно, но я просил подсказать где найти и сменить мессадже.. Вам дали все возможные решения: ВладимирМЭто стандартное сообщение об ошибке, возникающее при генерации кода ошибки 1539. Заменить его невозможно. Однако можно подавить выдачу этого сообщения и выдать свое. ... IF TableUpdate()=.F. ... Galyamov Rinat Поставь свой обработчик ошибок on error Там игнорирую ошибку с кодом 1539 - Trigger failed in "cursor". ... Больше нет решений. Вы намеренно хотите нарушить заложенную в фокс идеологию работы с триггерами, поэтому получаете "нерешаемую" проблему. А поменять идеологию работы могут только разработчики VFP, а не Вы и не я. Вы же в ответ начали упрекать всех в некомпетентности и требовать решить Вашу проблему. Вместо того, чтобы самому найти решение, выложить его (и тогда что-то утверждать о своем великом опыте) или культурно попросить помочь. Тут так принято. И. В. К.а буферизацию более логично использовать ... Буферизацию использовать логично для того, для чего она задумывалась разработчиками VFP. А если их понимание не совпадает с Вашим ... извините ... И. В. К.нет теперь вы мне предлагаете найти все по транзакциям.. зачем? вы их не понимаете? не знаете как они работают? зачем уходить в сторону? Чтобы показать существование неточностей у Вас и в документации. И. В. К.... зачем вам мой код не понятно... есть теория есть практика, мы говорим о теории... Это форум практиков, помогающих друг-другу решить практические проблемы. А без кода тут никак. Теорий много, ООП например имеет свое понимание в каждом языке программирования. Будем спорить что правильный язык С++ (т.к. под него ООП делалось), а остальные неправильные? Спорили уже, никто ничего не доказал. Теория - она неоднозначна и трактовать ее может каждый по своему в меру своих знаний и ораторских способностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 14:18 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.Дима, ну что все сначала? все по кругу? Проблема в том, что Вы все время "передергиваете". Подменяете одни понятия другими. А поскольку не приводите примеров, то именно и ходим по кругу. Просто каждый говорит о своем. Например, когда Вы говорите о блокировке, то подразумеваете под этим такую конструкцию Код: plaintext Все остальные подразумевают такую конструкцию Код: plaintext 1. 2. Никому просто в голову не приходит, как вообще можно писать полноценное приложение на таблицах открытых в режиме Exclusive. Естесственно, пытаются объяснить, что работа с блокировками никакой проблемы не составляет. Что именно Вы подразумеваете под термином "буферизация" понятно только Вам. Но, видимо, тоже что-то своеобразное. Что подразумевается под термином "Буферизация" в Visual FoxPro смотрите здесь Буферизация данных Это перевод на русский язык официального HELP к VFP9. И. В. К.Продолжать полемику в русле "Сам дурак" не намерен, будете аргументировать кодом свои изречения - тогда поговорим никто вас дураком не называл.. Некоторые слова не обязательно произносить вслух. Но снисходительно-покровительственный тон заезжего барина именно такое впечатление и оставляет. И. В. К.зачем вам мой код не понятно... есть теория есть практика, мы говорим о теории, а именно: для чего создали буферизацию.. Практика и теория взаимосвязаны. Говорить можно что угодно, но покажите свой код и станет ясно, что Вы думаете на самом деле. Т.е. практика использования буферизации покажет, что же Вы в действительности подразумеваете под этим понятием. В смысле, с какой целью применяете. Для меня буферизация - это просто копия данных. Именно как копию данных я ее и использую. То, что наличие копии облегчает разрешение конфликтов совместного доступа - бесспорно. Но это уже следствие, а не причина. Очень удобно, например, буфферизировать локальные курсоры для решения ряда проблем. Ни о каком совместном доступе тут речь не идет. Тем не менее, наличие копии данных существенно облегчает программирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 14:46 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Для меня буферизация - это просто копия данных. ну и пользуйте для этого скатер гатер или копи ту арей... Что именно Вы подразумеваете под термином "буферизация" понятно только Вам. я подразумеваю именно то что подразумевали разработчики создавая ее! именно то для чего она была реализована в фоксе, о чем я привел выдержки из доки по фоксу, в других языках буферизация создавалась с той же целью! развести пользователей.. 5 типов блокировок в буферизации!!! а вы видите только просто копия данных.. просто копия - это скатер.. я уже об этом говорил несколько раз. буферизация не только копия, но и все необходимое для разведения сетевых конфликтов, данные могут сохраняться не просто в памяти но и на диске.. это буферизация в полном понимании как ее реализовали разработчики фокса. Но снисходительно-покровительственный тон заезжего барина именно такое впечатление и оставляет. смею вас заверить, я не заезжий барин, я здесь давно, а в фоксе - очень давно... Никому просто в голову не приходит, как вообще можно писать полноценное приложение на таблицах открытых в режиме Exclusive режим необходим для выполнения операций : index, insert blank, modify stru, pack, reindex, zap (из доки). Например, когда Вы говорите о блокировке, то подразумеваете под этим такую конструкцию я подразумеваю 2 конструкции: 1.exclu 2.rlock(),lock(),flock() посмотрите то что я писал Проблема в том, что Вы все время "передергиваете". Подменяете одни понятия другими. у меня другое впечатление, передергиваете вы, а так как вас (аппонентов) несколько, и каждый передергивает в соответствии со своими соображениями получается каша... а мои ответы обращены к неопределенному кругу лиц... у каждого из которых есть свое представление отличное о других.. я вам предлагаю, просто сесть и конспектировать ... :-) а не возмущаться очевидным вещам Dima T Вы намеренно хотите нарушить заложенную в фокс идеологию работы с триггерами, поэтому получаете "нерешаемую" проблему и не думал нарушать идеологию.. вот я то как раз и не думал этого делать, я просто хотел сменить вывеску на стандартном сообщении, написать типа " удаление не возможно! потому то и потому то!", все, что бы было понятно простому русскому мужику.. Буферизацию использовать логично для того, для чего она задумывалась разработчиками VFP. А если их понимание не совпадает с Вашим ... извините ... на эту тему все сказано, доку создателей приводил, не современную доку, а доку именно тех людей которые ее создавали, доку именно того периода, периода создания буферизации. Чтобы показать существование неточностей у Вас и в документации уже ответил, транзакция - другая тема и другая степь.. другое назначение, другие задачи.. зачем вы ее мусолите? Это форум практиков, помогающих друг-другу решить практические проблемы. практически? тогда где хранятся сообщения фокса???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 15:29 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.практически? тогда где хранятся сообщения фокса???? Для какого фокса? В VFP6RENU.DLL для VFP6SP5 Адрес 0xE76A - 'Trigger failed' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:04 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К. , просто поражает ваша хамоватость. "Студенты, малолетки." Никто для вас, гуру, не авторитет. Прыжки по теме в разные стороны - как мысли у блондинки. То что для всех кажется легким - вы заводите в дебри "своегознанияотсамыхистоковпредметаразговора", а такую "элементарную, архиважную и архинужную" на ваш взгляд весчь, как "открыть какой-то командой в самом фокс и поправить тот самый загадочный файл" - вы забыли еще пять лет назад, но за 5 лет так мозг и не включили, чтобы вспомнить. И почему этой элементарщины никто не знает из посетителей форума (читай му***ов в вашем изложении)? Доказательство существования файла просто поражает глубиной и убедительностью - "вам же сказали, что есть оно" А ваши удивительнейшие грамматические ошибки на все вкусы - эта ваасче крута. "Извините за мой английский" (с) Их можно простить ровно в двух случаях: а) кое-кто еле закончил школу и положение его самого недалеко от "малолеток, студентов" б) учил русский еще при царе Горохе с ятями и ерями, и с тех пор был так занят изучением "основбуферизациииблокировок", что не до грамматики было. Тогда уж и правда, простите нас, малолеток и студентов, что просто даже осмелились подумать предложить вам почитать книгу, написанную при участии уважаемого ВладимираМ. И это вам-то посоветовали! Длиннобородому, седому и умудренному годами старцу. Гдей-то я такого старикана видел? Хм... Где же?.. Может, как И. В. К. , через пяток лет в форуме тему заведу, может кто тоже его видел... ЗЫ Ой, вспомнил - очень на Гендальфа из Властелина колец смахивает. ЗЫЫ ВладимирМ , поражаюсь Вашему терпению. Продолжать разговор с подобным типом на целых 3-х страницах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:15 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Dima T И. В. К.практически? тогда где хранятся сообщения фокса???? Для какого фокса? В VFP6RENU.DLL для VFP6SP5 Адрес 0xE76A - 'Trigger failed' Дима! большое спасибо! я подозревал что это должно быть в дллельках. буду смотреть, получится исправить сообщу. прох проходящий - проходи... вот диму я бы взял на работу.. а тебя точно нет.. слабоват, и зачет тебе по вфп не поставилбы.. лучше проходи.. куда шел.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:29 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Проходящий и прох - разные люди. Поосторожней на поворотах. К тому же, форум - место публичное и не Вам определять кому тут ходить. И еще одно пожелание - может таки перестанете заниматься оцениванием собеседников и таки займетесь обсуждаемой темой? Доку почитаете, и не только старую. Переписку с разработчиками. Ныне живущими и даже еще занимающимися фоксом? И даже говорящими по-русски. А то получается история с Д'Артаньяном и козлами вокруг него. Единственное улучшение - переход от малолеток к студентам. Кстати, Вам статус знатока кто дал-то? Или сами присвоили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:01 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
проходящий.Проходящий и прох - разные люди. Поосторожней на поворотах. К тому же, форум - место публичное и не Вам определять кому тут ходить. И еще одно пожелание - может таки перестанете заниматься оцениванием собеседников и таки займетесь обсуждаемой темой? Доку почитаете, и не только старую. Переписку с разработчиками. Ныне живущими и даже еще занимающимися фоксом? И даже говорящими по-русски. А то получается история с Д'Артаньяном и козлами вокруг него. Единственное улучшение - переход от малолеток к студентам. Кстати, Вам статус знатока кто дал-то? Или сами присвоили? определять мне одно, с кем разговаривать а с кем нет, можете писать все что вам угодно, тем более под анонимом... ошибки и заблуждения нужно признавать а не прятаться под разными никами хамовато поучая .. и козлами вокруг него а это уж как вам удобней так и называйтесь, не уважаемый аноним... статус знатока кто дал-то а вам? кто? нужно говорить правильные вещи и им станете, вот и весь секрет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:35 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К. да вы Троль А теперь по существу: 1) все системные сообщения ИМХО должны и есть на английском 2) если пользователь видит такое сообщение: *то он должен мигом бежать к программеру; *то вы допустили ошибку при программировании, не учли некоторые моменты. 3) тригер - это последний вратарь на страже целостности БД, он отслеживает то, что по своей неосторожности программер упустил из виду. 4) если вам надо, что либо делать автоматом с БД, пишите ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:48 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Блин, ребята ну Вы и флуд развели Как стоит вопрос: И. В. К.прошло 5 лет.. а вопрос до сих пор не закрыт и актуален.. ну как убрать это - "тринер файлед", "реверт" например этим: в главной базе "..." есть зависимые, подчиненные записи , удаление невозможно. и просто окей! может ктото научился это делать? ведь эти сообщения гдето лежат в фоксе, можно как то их подправить.. перевести на понятный пользователю язык.. пользователь не понимает что такое тригер и что такое реверт.. Собственно сразу был дан ответ Galyamov Rinat Galyamov Rinat Поставь свой обработчик ошибок on error Там игнорирую ошибку с кодом 1539 - Trigger failed in "cursor". .... case nError=1539 MessageBox('У вас отсутствуют права на изменение данной информации!!!',0+48+0,'Операция отменена!!!') Затем пошел уточняющий вопрос: И. В. К.1. где поставить? в тригере? в самой хранимой процедуре? 2. чем отменять операцию удаления? recall не работает, потому что вып. тригеррр, таблереверт тоже не работает, потому что база локальная буферы не пользуем, ролбак тоже не работает, т.к. тригер запущен фоксом и транзакция вып тригера контролируется им.. чем отменить? вот бы найти эту форму и скорректировать , наверно есть класс с этой формой и с него генерятся все сообщения об ошибках Как я понимаю всего-то надо было привести код подавления ошибки (вот пример на триггер удаления) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Как видите, код набрасывается за 5 мин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:55 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
GoshaS И. В. К. да вы Троль А теперь по существу: 1) все системные сообщения ИМХО должны и есть на английском 2) если пользователь видит такое сообщение: *то он должен мигом бежать к программеру; *то вы допустили ошибку при программировании, не учли некоторые моменты. 3) тригер - это последний вратарь на страже целостности БД, он отслеживает то, что по своей неосторожности программер упустил из виду. 4) если вам надо, что либо делать автоматом с БД, пишите ХП. то что вы говорите это типичное применение тригера - для программиста я же хотел его использовать , точнее использовать его возможности для выдачи сообщение пользователю, почему? поясняю есть справочник и есть главная таблица пользователь удаляет запись в справчнике - записи с кодом остаются в главной таблице , этого допускать нельзя, удаление каскадом - неверно, тогда пишем пользователю сообщение - вы хотели удалить то-то, но в главной базе остались товары, клиенты (не важно) ссылающиеся (имеющие) эту характеристику, запись .. ну и т.д. чтобы пользователь посмотрел главную базу и сделал выводы - нужны ли ему эти записи.. удалил их если нет и удалил запись в справочнике.. для этого я хотел использовать стандартный тригер (хранимую процедуру) кот. написал сам с сообщением и пр. вот и все собственно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 18:09 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
ясно решения нет можно закрыть дискуссию даже если некоторым анонимам и тролям хочется почесать язык.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 18:15 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.ясно решения нет можно закрыть дискуссию даже если некоторым анонимам и тролям хочется почесать язык.. Э-э-э, если Ваша реплика в мой адрес, то какой у Вас получился результат при запуск тестового кода, неужели появилось сообщение Trigger failed/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 18:18 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
Тро́ллинг (от англ. trolling) — написание в Интернете (на форумах, в группах новостей Usenet, в вики-проектах и др.) провокационных сообщений с целью вызвать флейм, конфликты между участниками, пустой трёп, оскорбления, войну правок и т.п. В общем, понятно, надеюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 18:30 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К. , я понимаю, что совсем без ошибок тяжело писать (я не про фокс - тут вы, безусловно, король, гуру и знаток), но может вам стоит нанять репетитора по русскому языку? Ему даже плалить не обязательно - он вас по грамматике и пунктуации подтянет, а вы его загрузите по полной по "буфферизацииблокировкамикаквыучилипрограммистовбилагейтсафокссоздавать" ЗЫ Сорри, но не удержусь - знаток хр..в. Как говорит народная мудрость - "будь проще и люди к тебе потянутся". Вы же действуете в противоположном русле. Очень хорошо подмечено ВладимирМ - тон заезжего барина. ЗЫЫ А про взять меня на работу - благодарствуйте, барин. Накушались мы у таких работодателей-самодуров. Если уж вы такой "гура" - так пишите себе проги сами, денёг себе заодно сэкономите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 22:27 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
прох И. В. К. , я понимаю, что совсем без ошибок тяжело писать (я не про фокс - тут вы, безусловно, король, гуру и знаток), но может вам стоит нанять репетитора по русскому языку? Ему даже плалить не обязательно - он вас по грамматике и пунктуации подтянет, а вы его загрузите по полной по "буфферизацииблокировкамикаквыучилипрограммистовбилагейтсафокссоздавать" ЗЫ Сорри, но не удержусь - знаток хр..в. Как говорит народная мудрость - "будь проще и люди к тебе потянутся". Вы же действуете в противоположном русле. Очень хорошо подмечено ВладимирМ - тон заезжего барина. ЗЫЫ А про взять меня на работу - благодарствуйте, барин. Накушались мы у таких работодателей-самодуров. Если уж вы такой "гура" - так пишите себе проги сами, денёг себе заодно сэкономите. ну вот, пришел, знаток рюсскага языку... ну а может в филологи? а ? че здесь сидеть, людям голову морочить? если успехи такие в грамматике? а еще если через ворд прогнать - то вообще красота... я вот например пишу быстро, и не читаю, где то не по той кнопке щелкнул.. но разве для прогера ЭТО важно? я думаю тем кому важен грамотный текст в сообщениях - работает филологом.. учителем русского языка например.. над нашей фирмой плакат повесили.. с лозунгом.. не мы, владельцы здания, лозунг политический.. ну и пусть висит.. так нет, нашлась одна бабка, бывший учитель русского языка, и задолбала! ходит и ходит каждый день, какую то там ошибку нашла.. главное не явную, а какую то с подкавыкой.. ну мы ее послали, надоела, не понимает что не наш плакат.. так она жалобу на нас накатала, мол русский язык губим.. ей к доктору нужно, а никто не возмется за человека.. я думаю вам тоже доктор поможет, поможет избавиться от комплесов.. вас в детстве по макушке били наверно за каждую ошибку? до сих пор болезненно относитесь к буквам.. а вы проще смотрите на жизнь.. не зажимайтесь.. никто не треснет, даже если очепятаетесь пару раз.. грамотные программисты поймут.. а неучей не бойтесь.. они в нашем сообществе большой роли не играют.. даже если у них 5 по русскому было. нам важно чтобы 5 по математике.. а если с русским хорошо, я вот думаю, наверно можно в секретутки пойти.. там много писанины.. чего людям на профессиональном форуме голову морочить? а можно книги писать - записки сумасшедшего например, версия два... зато без ошибок.. прямая дорога - в писатели.. ну где еще можно применить знания с подзатыльниками полученные в детстве? ах, ну да, ну да, можно грамотно без ошибок заявление написать, например такого содержания: прошу принять меня дворником -сторожем-посудомойкой.. и главное ни одной ошибки не допустить.. ведь это главное! ну а что еще предложить русоведу? насчет простоты (или простАты?) что могу сказать, проще некуда, вот самодуром меня назвал.. видно от большого ума.. или от большой культуры - ну что с него взять - будущий литератор.. может войну и мир напишет.. кто его знает.. буквы выучил, слова грамотно пишет, один шаг до славы можно сказать.. не будем подавлять талант, пусть растет, развивается.. глядишь буду когда нибудь гордиться.. я дискусировал с ним..с самим анонимом "прох"..!!! книжки, скорее всего, тоже будут анонимные.. не подпишется же он "прох", так что и не узнаем героя.. а жаль.. ну что жжж, удачи и побед , не уважаемый мной, аноним прох..(может прохиндей? или прохундей? или проханыга? не буду гадать.. кто писал знает что имел ввиду, ладно, пока..) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 03:40 |
|
||
|
Trigger failed
|
|||
|---|---|---|---|
|
#18+
И. В. К.вас в детстве по макушке били наверно за каждую ошибку? прошу принять меня дворником -сторожем-посудомойкой.. и главное ни одной ошибки не допустить.. улыбнуло +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 05:40 |
|
||
|
|

start [/forum/topic.php?all=1&fid=41&tid=1588219]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
83ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 372ms |

| 0 / 0 |
