|
|
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
Один1Ну вы сделали версионник своими руками. Это пожалуй что слишком сильное утверждение :) Хотя как афоризм - согласен. Один1Наверное вам так привычнее, хотя мне кажется, что это более трудозатратное решение, чем введение статусов. Такое сравнение без дополнительных оговорок не совсем корректно. Подобная технология и инструментаций ее поддержки - это разовые трудозатраты. Имхо - разумные по размеру, хотя понятно, что это зависит от инструментария разработки и других факторов. Ведение статусов - трудозатраты постоянные. Соответственно, для одного проекта на человеко-недели такой подход сомнителен, как стандартная библиотека даже для одинокого фрилансера - имхо оправдано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 12:35 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
Один1Это хороший способ, но в блокировочниках так нельзя. П.э. для блокировочников это "самый неудачный вариант решения проблемы". Не только для MSSQL. Безусловно. Но почему-то тот же gardenman не склонен к подобным глобальным формулировкам до того, как оговорена БД, а вот именно от mssql-щиков такое слышно постоянно (согласен, наверяка есть и те, кто не склонны. Но процентное соотношение...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 12:39 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
softwarer EstetsС многими вашими утверждениями согласен, но данное утверждение применительно к блокировочникам буду оспаривать, что называется до последнего Как раз в этом и состоит моя цель. Надеюсь, на этом примере Вы увидите, что Ваше утверждение применительно к версионникам выглядит столь же... спорно. А следовательно в топике, где ни слова не сказано об используемой БД, нет места ни тому, ни другому. Я поправился. У меня минимальный опыт работы с Oracle, так что я не могу аргументированно с вами поспорить. Хотя есть все таки сомнения в том что все так просто. Открыл транзакцию - загрузил документ - поправил - нажал ОК commit/нажал Cancel rollback. ;) softwarer EstetsДанное решение возможно в частном случае Данное решение отлично работает в общих случаях. Разумеется, как и у любой технологии, у него есть свои ограничения, но они непринципиальны. Собственно, мне известны два проекта на десяток человеко-лет каждый, полностью реализованные в такой технологии - полагаю, Вам придется согласиться, что это свидетельство достаточно общего случая. Тогда стоит наверное сказать на каких типах БД построены данные приложения? Если мы рассматриваем версионники и блокировочники. Или это тоже частный случай применимый только к версионникам? softwarerРеализация мастер-детали укладывается в считанные строки базового класса "фрейм ввода данных" и позволяет беспроблемно строить сколь угодно сложные иерархии. Если бы все было так просто, не было бы таких флеймов. softwarer EstetsВ результате структура кэша усложняется неимоверно, усдажняется соответственно и написание кода по вставке всего в БД. Хм. Такое впечатление, что Вы говорите о технологиях программирования позапрошлого века. Хорошо написанная сложная программа состоит из множества простых кирпичиков и достаточно проста в реализации. Ну со своей стороны могу сказать что семейство программ, которые я проектировал используют в 90 процентах три базовых объекта для обработки списка, редактора и фильтра. Уж как говорится объектнее некуда. Но правда связано это с особенностями средства разработки PowerBuider. softwarer Согласен, на блокировочнике придется уделить внимание некоторым вещам, которые в версионнике легко решаются. Например, частичный откат - если вы из формы1 вызвали форму2, из формы2 вызвали форму3, в форме3 нажали Ok, а в форме2 - Cancel. И эту проблему пришлось решать ;))) softwarerУ меня был проект, где заказчик захотел некий не очень с моей точки зрения обоснованный слой доступа к данным - по сути, грузить данные из БД на клиента, там ими оперировать и так вот кэшированно скидывать обратно. Возможный подход, но как я утверждаю, применимый только в частном случае. В общем случае требующий неоправданных затрат на проектирование базовых объектов. Настолько неоправданных что я не знаю известных программ, библиотек или средств разработки реализующих данный принцип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 13:46 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsТогда стоит наверное сказать на каких типах БД построены данные приложения? Если мы рассматриваем версионники и блокировочники. Или это тоже частный случай применимый только к версионникам? Эти приложения - для версионников. У меня для блокировочника единственный проект и кардинально менее крупный. В то же время как раз здесь я не вижу приниципиальной разницы. Раз уж "версионник на клиенте", как выразился Один1 , не так важно с чем он работает. EstetsЕсли бы все было так просто, не было бы таких флеймов. Я не знаю PowerBuilder и готов допустить, что на нем все непросто. Насколько я слышал, это продукт с достаточно жестко прописанной идеологией разработки. EstetsНу со своей стороны могу сказать что семейство программ, которые я проектировал используют в 90 процентах три базовых объекта для обработки списка, редактора и фильтра. Уж как говорится объектнее некуда. Э-э, очень даже есть куда. Обратите внимание, что названы по сути три визуальных компонента и все. Это "объектно" по той же логике, по которой ООП отождествляют с "киданием компонент на форму" в дельфе - типа раз компоненты, значит уже крутой ООпер. EstetsВозможный подход, но как я утверждаю, применимый только в частном случае. Описанный в этом абзаце подход - безусловно, частный. Но этот пример выдвигался не для доказательства общности, чему служили более ранние, а для оценки трудоемкости. Это более сильное решение, чем "cached updates вообще" и тем не менее реализован без особых проблем. Следовательно и реализовать названное мной [в общем случае] возможно и не слишком сложно. EstetsВ общем случае требующий неоправданных затрат на проектирование базовых объектов. Хм. То есть Вы считаете две тысячи строк неоправданными затратами? Не знаю. Лично я готов потратить неделю-две, дабы потом год за годом беспроблемно работать. EstetsНастолько неоправданных что я не знаю известных программ, библиотек или средств разработки реализующих данный принцип. Хм. Какой именно принцип? И если на то пошло, какие Вы знаете? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:30 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
softwarerЯ не знаю PowerBuilder и готов допустить, что на нем все непросто. Насколько я слышал, это продукт с достаточно жестко прописанной идеологией разработки. Рекомендации по "идеологии разработки" не ограничивают использование своей идеологии. В качестве особенности разработки я имел ввиду технологию DataWindow ээээ некое описание визуального представления для буффера данных (редактор, список, отчет в одном флаконе), что позволяет отвязать проблемы с получением, обработкой и сохранением данных от графического отображения их на экране. Насколько я знаю ничего похожего в других средствах разработки нет. softwarer EstetsНу со своей стороны могу сказать что семейство программ, которые я проектировал используют в 90 процентах три базовых объекта для обработки списка, редактора и фильтра. Уж как говорится объектнее некуда. Э-э, очень даже есть куда. Обратите внимание, что названы по сути три визуальных компонента и все. Именно так и есть, приложение работает как тонкий клиент (вся обработка бизнес логики происходит только на сервере БД. Например настройка пункта главного меню "Список валют" содержит: имя ХП - для получения данных имя DataWindow - отвечающей за то как показать данные и как назвать колонки и имя объекта - отвечающего за показ DataWindow вызов процедуры и обработка действий пользователя (поднятие контекстного меню и пр.) softwarerЭто более сильное решение, чем "cached updates вообще" и тем не менее реализован без особых проблем. Следовательно и реализовать названное мной [в общем случае] возможно и не слишком сложно. Нет действительно если для работы с ORACLE достаточно "Открыл транзакцию - загрузил документ - поправил - нажал ОК commit/нажал Cancel rollback. ;)", то я первый побегу с требованием к разработчикам сменить БД ;) и не напрягать службу поддержки дурацкими вопросами почему в отчет попала паразитная запись. softwarerХм. То есть Вы считаете две тысячи строк неоправданными затратами? Не знаю. Лично я готов потратить неделю-две, дабы потом год за годом беспроблемно работать. Как говорил классик "Не верю", именно из за того что представляю объем необходимого кода и не представляю всех засад которые могут возникнуть при его реализации. softwarerХм. Какой именно принцип? И если на то пошло, какие Вы знаете? :) Если упростить до предела "Нельзя создать связанную запись до тех пор пока главная запись физически не сохранена в базе". Из чего следует ;) что не существует промышленных систем реализующих в полном объеме как вы сказали "cached updates" обновление информации для документов MASTER-DETAIL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 15:41 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsИменно так и есть, приложение работает как тонкий клиент Судя по всему описанному, реализация кэширования на клиенте в вашем случае упирается в доработку либо реализацию собственного DataWindow. Допускаю, что это неоправданно проблематично. EstetsНет действительно если для работы с ORACLE достаточно "Открыл транзакцию - загрузил документ - поправил - нажал ОК commit/нажал Cancel rollback. ;)", то я первый побегу с требованием к разработчикам сменить БД ;) Хм. Так бегите :) EstetsКак говорил классик "Не верю", Ну, на нет и суда нет. Представлять код, извините, не буду - в первую очередь потому, что он принадлежит не мне. EstetsЕсли упростить до предела "Нельзя создать связанную запись до тех пор пока главная запись физически не сохранена в базе". Хм. Что-то я перестал Вас понимать. Я тоже не знаю библиотек, реализующих столь идиотский принцип, и не понимаю, откуда Вы его вытащили. Если же говорить о принципе "нельзя сохранить связанную запись, пока главная не сохранена", то он называется FOREIGN KEYем, и построенных на его учете библиотек, назовем так, много :) EstetsИз чего следует ;) что не существует промышленных систем реализующих в полном объеме как вы сказали "cached updates" обновление информации для документов MASTER-DETAIL. Хм. Меня учили, что из изначально..... нелогичного утверждения может следовать все что угодно, и это ровным счетом ничего не значит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 16:05 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
Ладно, пойдем попорядку ;) Есть форма реализуюшая отношение Master-Detail. Оператору необходимо сохранить 1 главную запись и N подчиненных. Можно А. Открыть транзакцию, добавить запись в БД дать пользователю ее редактировать, добавить подчиненную запись в БД дать пользователю ее редактировать (N-раз). При нажатии кнопки ОК закоммитить транзакцию, при нажатии кнопки Cancel откатить транзакцию. Временных записей в БД не возникает. Б. Добавить запись в буффер (DataSourse, структуру, массив в зависимости от используемого ПО) дать пользователю ее редактировать, добавить подчиненную запись в другой буффер, дать пользователю ее редактировать. При нажатии ОК открыть транзакцию, рекурисвно обойти все буффера сохраняя записи в БД, если нет ошибок закоммитить транзакцию. Временных записей в БД не возникает. В. Добавить запись в БД дать пользователю ее редактировать, добавить подчиненную запись в БД дать пользователю ее редактировать (N-раз). Если пользователь завис то он должен сам удалить эту запись иначе эту запись нельзя отличить от отредактированных. Г. Добавить запись в БД помеченную как временная, дать пользователю ее редактировать, ... для перечня, при нажатии кнопки ОК обновить состояние записи на актуальное. Ну теперь итого: А - возможно только для ORACLE Б - возможно для версионника и для блокировочника, но в сложных случаях ИМХО не реализуемый В - способ известный еще со времен DBASE, имеет право на жизнь, и достаточно часто используемый во всяких Axapta подобных системах. Но череватый паразитными записями. Г. - предложенный мной способ решения, имеющий свои особенности. softwarerХм. Что-то я перестал Вас понимать. Я тоже не знаю библиотек, реализующих столь идиотский принцип, и не понимаю, откуда Вы его вытащили. Если же говорить о принципе "нельзя сохранить связанную запись, пока главная не сохранена", то он называется FOREIGN KEYем, и построенных на его учете библиотек, назовем так, много :) Мое утверждение касалось варианта Б. И еще раз могу сказать, что я не видел программ его реализующего в полном объеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 17:13 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
Забыл кстати еще один способ Д. Не давать пользователю вносить перечень пока он явно не сохранит главную запись. Что тоже мной использовалось для сложных но редких настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 17:27 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsА. Открыть транзакцию, добавить запись в БД дать пользователю ее редактировать, добавить подчиненную запись в БД дать пользователю ее редактировать (N-раз). При нажатии кнопки ОК закоммитить транзакцию, при нажатии кнопки Cancel откатить транзакцию. Временных записей в БД не возникает. <skipped> А - возможно только для ORACLE Мне кажется, вы не совсем понимаете что есть версионник и блокировочник. Советую почитать например здесь http://www.ibase.ru/devinfo/versions.htm , достаточно четко и кратко. Возможно, у оракла имеются какие-то отличия и особенности, но вряд ли они существенны в данном случае. Только перед тем как бежать менять БД, советую ознакомится с ... ну для начала с "Песенкой ослика-ораклиста" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 17:40 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
Один1Мне кажется, вы не совсем понимаете что есть версионник и блокировочник. Советую почитать например здесь http://www.ibase.ru/devinfo/versions.htm Спасибо, я человек простой, от сохи, по этому повду знаю только одно что если человек открыл транзакцию и обновил одну запись в таблице и забыл ее закрыть, то рано или поздно на уши встанет болшой отдел ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 17:48 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsСпасибо, я человек простой, от сохи, по этому повду знаю только одно что если человек открыл транзакцию и обновил одну запись в таблице и забыл ее закрыть, то рано или поздно на уши встанет болшой отдел ;) В случае Оракла - столько не живут :) Во всяком случае лично я за скоро десять лет работы с сервером ни разу не видел отдела, вставшего на уши по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 21:12 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsА - возможно только для ORACLE Скорее для любого версионника. EstetsБ - возможно для версионника и для блокировочника, но в сложных случаях ИМХО не реализуемый Ну - как говорится, если факты противоречат теории, тем хуже для фактов. EstetsВ - способ известный еще со времен DBASE, имеет право на жизнь, Не имеет. При встрече убивать вместе с автором. EstetsГ. - предложенный мной способ решения, имеющий свои особенности. Вот этот я бы классифицировал как "имеет право на жизнь". EstetsМое утверждение касалось варианта Б. И еще раз могу сказать, что я не видел программ его реализующего в полном объеме. Не знаю, что Вы называете полным объемом. В моем последнем проекте таким образом идет работа с метаинформацией проекта. Там есть понятие "ядро" - на текущий момент это системная часть клиента в двухзвенке, в перспективе также будет промежуточным звеном в трехзвенке; это ядро при старте грузит в себя метаинформацию, позволяет ее редактировать и по кнопке "сохранить" сбрасывает изменения в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 21:26 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
softwarer EstetsСпасибо, я человек простой, от сохи, по этому повду знаю только одно что если человек открыл транзакцию и обновил одну запись в таблице и забыл ее закрыть, то рано или поздно на уши встанет болшой отдел ;) В случае Оракла - столько не живут :) Во всяком случае лично я за скоро десять лет работы с сервером ни разу не видел отдела, вставшего на уши по этому поводу. Так это все таки заслуга Oracle без его блокировки ресурсов при изменении данных или ваша? ;)))) softwarerНе знаю, что Вы называете полным объемом. В моем последнем проекте таким образом идет работа с метаинформацией проекта. Там есть понятие "ядро" - на текущий момент это системная часть клиента в двухзвенке, в перспективе также будет промежуточным звеном в трехзвенке; это ядро при старте грузит в себя метаинформацию, позволяет ее редактировать и по кнопке "сохранить" сбрасывает изменения в БД. Разработка больших проектов требует схожих решений, у нас тоже использовались термины ядро и метаинформация ;) В нашем понимании ядро включало в себя "Ядро документооборота" - работа с документами, статусами документов, гафом переходов между статусами. Которое в том числе содержало метаинформацию о полях, таблицах, процедурах. "Ядро настроек беропасности" - соответственно роли пользователи и допуска к документам, состояниям и пр. "Ядро учета" - базовый механизм внесения проводок, планы счетов, счета, периоды, шаблоны для получения остатков и оборотов. А по поводу возможности реализовать алгоритм "Б", я не говорил что это невозможно, я и сам часто такой подход использовал, но полностью построить систему по такому принципу у меня мозгов и времени не хватило ;) Могу рассказать одну грустную историю. Есть простейший документ, допустим "строка перечня приходной ведомости на склад" при обработке накладной нам необходимо сделать проводку по складскому плану счетов с датой, количеством, и аналитикой по товару. Причем все эти данные есть в документе. Вызывается ХП копотая обходит перечень накладной и делает проводки, примерно такого текста Код: plaintext 1. 2. 3. 4. 5. 6. Реальный код не слишком сложнее приведенного, но чтобы человек смог настроить/изменить проводку он должен знать TransactSQL ;-0. Начальство решило с этим бороться, а давайте сказали они для документа сделаем настройку проводок, типа простой пользователь выберет счета, поля документа, из которых брать сумму, валюту, аналитику и пр. и все будет в шоколаде. Сделали. Часто из суммы надо вычленять НДС, сделали, всякие курсовые разницы распределяются на разные счета в зависимости от знака, сделали проверку условий проводки. Балансовая стоимость списывается по партиям, сделали поддержку LIFO-FIFO. Есть проводки по нескольким суммам, написали возможность расчетов в полях. Есть зависимые проводки, развернули настойку в дерево. В результате проблему решили, но затраты на настройку всего этого, и вероятность совершения ошибки превышают выгоды использования данного механизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 11:09 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsВ результате проблему решили, но затраты на настройку всего этого, и вероятность совершения ошибки превышают выгоды использования данного механизма. А пользователи этим механизмом пользуются ? Или все равно говорят программисту "добавьте мне, пожалуйста, проводку" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 12:33 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsТак это все таки заслуга Oracle без его блокировки ресурсов при изменении данных или ваша? Хм. Ну во-первых формулировка крайне неудачна, во-вторых - заслуга Oracle. Скажу так: мне известна единственная возможность настроить сервер таким образом, чтобы подобная блокировка имела шанс привести к глобальным проблемам, причем эта возможность доступна только с 10-й версии и включение ее - дело сугубо добровольное. EstetsА по поводу возможности реализовать алгоритм "Б", я не говорил что это невозможно, я и сам часто такой подход использовал, но полностью построить систему по такому принципу у меня мозгов и времени не хватило ;) Мы с Вами упорно не понимаем друг друга. Я не понимаю, какие мозги и время нужны для "полного построения по такому принципу" в сравнении с "частичным построением". Механика закладывается один раз, в базовых классах, а дальше формы пользуются этой функциональностью на уровне настройки, на уровне "включил использование фичи". EstetsМогу рассказать одну грустную историю. ........ Сделали. Часто из суммы надо вычленять НДС, сделали, всякие курсовые разницы распределяются на разные счета в зависимости ..... В результате проблему решили, но затраты на настройку всего этого, и вероятность совершения ошибки превышают выгоды использования данного механизма. Знаю. Делали подобную вещь. Сделали так: во-первых, вычленили ключевые, часто используемые вещи и сделали их на уровне настроек. Во-вторых, предусмотрели в конфигурационных таблицах "гнезда", куда можно написать скрипт или имя хранимки - на случай редкой особенности, которую невыгодно таким вот образом универсально автоматизировать. Наконец, я написал программу для редактирования и верификации этой метаинформации. Программа достаточно сложного интерфейса, не для простого пользователя, но использовал ее собственно эксперт-настройщик. Отзывы были весьма положительные - то есть пользовались, просили доработок и вплоть до "приехал к клиенту и прямо по ходу беседы подстраиваешь то, что обсуждаете". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 12:28 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
softwarerЗнаю. Делали подобную вещь. Сделали так: во-первых, вычленили ключевые, часто используемые вещи и сделали их на уровне настроек. Во-вторых, предусмотрели в конфигурационных таблицах "гнезда", куда можно написать скрипт или имя хранимки - на случай редкой особенности, которую невыгодно таким вот образом универсально автоматизировать. Наконец, я написал программу для редактирования и верификации этой метаинформации. Программа достаточно сложного интерфейса, не для простого пользователя, но использовал ее собственно эксперт-настройщик. Отзывы были весьма положительные - то есть пользовались, просили доработок и вплоть до "приехал к клиенту и прямо по ходу беседы подстраиваешь то, что обсуждаете". Точно,у меня тоже так сделано:по таблице описаний проводок по-умолчанию формируются select для выборов счетов,пишутся в текстовое поле в этой таблице и сам механизм работает на основе этого текстового поля.Если надо его поправить тем,что не влезает в настроечные параметры,дописывается ручками.Минуты две назад как раз его правил (правда параметрами).SELECT формирует гордо называнный начальством "предкомпилятор условий счето"в. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 12:38 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
Один1 EstetsВ результате проблему решили, но затраты на настройку всего этого, и вероятность совершения ошибки превышают выгоды использования данного механизма. А пользователи этим механизмом пользуются ? Или все равно говорят программисту "добавьте мне, пожалуйста, проводку" ? Были продвинутые пользователи которые на SQL что то дописывали. А в данном случае не все программисты в конторе понимают как это работает, только избранные ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 16:16 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
softwarerЗнаю. Делали подобную вещь. Сделали так: во-первых, вычленили ключевые, часто используемые вещи и сделали их на уровне настроек. Во-вторых, предусмотрели в конфигурационных таблицах "гнезда", куда можно написать скрипт или имя хранимки - на случай редкой особенности, которую невыгодно таким вот образом универсально автоматизировать. Наконец, я написал программу для редактирования и верификации этой метаинформации. Программа достаточно сложного интерфейса, не для простого пользователя, но использовал ее собственно эксперт-настройщик. Отзывы были весьма положительные - то есть пользовались, просили доработок и вплоть до "приехал к клиенту и прямо по ходу беседы подстраиваешь то, что обсуждаете". Может быть это и выход, но у нас такой возможности не было. Логика была только на сервере и соответственно закладывалась в момент компиляции процедуры или работала по настройкам, которые выполнялись скопом и вмешаться в процесс выполнения было нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 16:29 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
EstetsМожет быть это и выход, но у нас такой возможности не было. Логика была только на сервере и соответственно закладывалась в момент компиляции процедуры или работала по настройкам, которые выполнялись скопом и вмешаться в процесс выполнения было нельзя. Хм. А в MSSQL-е отсутствует динамический SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 16:32 |
|
||
|
Временная запись, добавляется с клиента. Как потом её корректно удалить?
|
|||
|---|---|---|---|
|
#18+
softwarer EstetsМожет быть это и выход, но у нас такой возможности не было. Логика была только на сервере и соответственно закладывалась в момент компиляции процедуры или работала по настройкам, которые выполнялись скопом и вмешаться в процесс выполнения было нельзя. Хм. А в MSSQL-е отсутствует динамический SQL? Гы гы гы, есть то он есть да ктож ему даст. В смысле права для пользователей напрямую изменять таблицы, а иначе все это сильно не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 16:53 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33602783&tid=1545361]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
407ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 717ms |

| 0 / 0 |
