|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Если в проекте применяется база данных и ведётся разработка на sql, то часто проявляется сложность поддержки актуальности клиента и сервера. Если отсутствие новой таблицы в клиенте очевидно, то отсутствие поддержки очередного мелкого изменения в базе может всплыть при тестировании или уже при эксплуатации. На клиенте есть компиляция, выявляющая некоторые несоответствия, в некоторых базах тоже есть что-то подобное. Но между клиентом и базой подобного процесса нет. Чаще всего применяются организационные методы борьбы с этим. Какие есть технические методы? Например, статическую кодогенерацию по шаблонам нельзя назвать существенно техническим методом. Если не изменить шаблон или не вызвать кодогенерацию, то клиент и сервер перестанут быть совместимы. Динамическая кодогенерация в этом смысле лучше, но обходится существенно дороже. Но и в этом случае, например, прямое указание имени поля в клиенте вызовет ошибку при изменении или удалении его из базы. Причём, важность такой совместимости повышается после передачи в эксплуатацию, т.к. организационные меры легче применять ограниченное время или вообще разово, например, ударным тестированием, чем постоянно их поддерживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 12:46 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
авторКакие есть технические методы?В общем случае - никаких. Вести разработку строго в одной среде (типа как в 1С) и не использовать всех возможностей СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 13:34 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown часто проявляется сложность поддержки актуальности клиента и сервера Что за сложность? Кто-то в клиенте не в состоянии сравнить номер версии БД с теми, с которыми он умеет работать?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 13:43 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
L_argo авторКакие есть технические методы? Вести разработку строго в одной среде (типа как в 1С) и не использовать всех возможностей СУБД.Пока знаю один. Утоньшение клиента относительно обработки частных данных, например, атрибутов. Если разработать изначально архитектуру клиента, чтобы он опирался на некие "интерфейсы", а не на реализации выборок и изменений данных. Получается прямая противоположность 1С. Правда, здесь другая крайность, если идти до конца по этому пути, то можно переизобрести RDP. Dimitry Sibiryakov tunknown часто проявляется сложность поддержки актуальности клиента и сервера Что за сложность? Кто-то в клиенте не в состоянии сравнить номер версии БД с теми, с которыми он умеет работать?.. Такой вопрос у меня возник очень давно, когда я работал с Delphi 3. Зафетчил колонки в датасеты и любое изменение в базе приходится повторять в клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 14:40 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Такой вопрос у меня возник очень давно, когда я работал с Delphi 3. Зафетчил колонки в датасеты и любое изменение в базе приходится повторять в клиенте. Такие вопросы чаще всего возникают от неграмотности в использовании инструмента. Достаточно не использовать persistent fields (это то, что Вы творчески назвали "зафетчил колонки в датасеты") - и проблемы не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 21:23 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Вопрос не в том, как сделать, чтобы работало в каком-то конкретном случае, а в том, чтобы такая проверка не понадобилась. И ответ на это - "никак, обломись". Приложение, способное работать с абсолютно любой базой, это нежизнеспособный монстр. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 14:15 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown, БД и Клиент должны базироваться на общих метаданных - меняются метаданные (изменения сохраняются), БД перегенерируется, клиент сгенерирует запросы с учетом изменений метаданных. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 22:22 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos меняются метаданные (изменения сохраняются), БД перегенерируется ... Закрываем магазины на пару месяцев, пока после перегенерации БД в неё не перезальются данные ... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 22:44 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer Такие вопросы чаще всего возникают от неграмотности в использовании инструмента. Достаточно не использовать persistent fields (это то, что Вы творчески назвали "зафетчил колонки в датасеты") - и проблемы не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 23:59 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Предлагаете тому мне именовать поля на русском, чтобы в гриде всё было понятно пользователям? В хорошей книге Специалист по этике душевно описаны чувства главного героя, когда он видит толпу дикарей, старательно таскающих статор вокруг неподвижного ротора. Это в точности то чувство, которое я испытываю от Ваших описаний. А предлагаю я, как уже сказал, осваивать инструмент и выбирать адекватные средства решения той или иной задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 00:26 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
EF Code First + Migration вобщем делает, то что вам нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 00:38 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer ViPRos меняются метаданные (изменения сохраняются), БД перегенерируется ... Закрываем магазины на пару месяцев, пока после перегенерации БД в неё не перезальются данные ... фантазер, ты меня называла... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 01:35 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer ViPRos меняются метаданные (изменения сохраняются), БД перегенерируется ... Закрываем магазины на пару месяцев, пока после перегенерации БД в неё не перезальются данные ... а еще у нас умер ослик и мы его 4 часа детскими совками во дворе закапывали... а почему не пару лет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 10:19 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Если прога - монолит - разбиваем её на запускалку - проверяльщика версии и собственно саму функциональную прогу. Проверяльщик с базы на клиента тянет свежее актуальное обновление и стартует его. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 10:51 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer А предлагаю я, как уже сказал, осваивать инструмент и выбирать адекватные средства решения той или иной задачи. Relic Hunter EF Code First + Migration вобщем делает, то что вам нужно. x0125 Если прога - монолит - разбиваем её на запускалку - проверяльщика версии и собственно саму функциональную прогу. Проверяльщик с базы на клиента тянет свежее актуальное обновление и стартует его. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 11:14 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Задача в том, чтобы расхождение не могло произойти принципиально эта задача решения не имеет словарь метаданных придется кешировать на клиенте для скорости, кеш из-за сбоев рано или поздно протухает, очищаем локальный кеш и формируем новый на клиенте ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 13:36 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Last of 1 as а почему не пару лет? Можно и пару лет, не суть. Суть в том, что "перегенерация базы" подразумевает "перезаливку данных", а "перезаливка данных" требует куда больше времени, чем допустимо отдать на технологическое окно - даже если нет требования 24/7 и технологическое окно вообще существует. Такая технология может быть реально использована только в том случае, если есть возможность по одному отключать и обновлять сервера БД. Это требует целого списка других технических решений, включая умение программного ядра и репликации одновременно работать с БД разных версий. В принципе, это всё реализуемо, но в мире довольно мало контор, где нужно решение такого масштаба. Поэтому выдавать такой подход как универсальное решение.... ну это примерно как проект электрификации дачного посёлка начинать с постройки АЭС. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:03 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Пока вы говорите, что всё неверно, но не говорите в каком направлении двигаться. Подскажите примеры какие-нибудь. Да какие примеры. Суть того, что Вы сказали - Вы к каждому датасету приделываете persistent fields для того, чтобы прописать там DisplayLabel и прочие свойства, унаследованные из Delphi 1 и касающиеся отображения данных в гриде. В этот момент все, кто много лет рассказывал про Delphi как про образец паттерна "мешанина из всего в одной куче" красноречиво улыбаются, и в Вашем конкретном случае для разнообразия правы. В каком направлении двигаться.... в датасетах писать запросы. Запросы желательно размещать в модулях данных. Названия и свойства колонок прописывать в гридах. Гриды размещать на формах и фреймах. Мухи - отдельно, котлеты - отдельно. Persistent fields выкинуть и забыть навсегда. Когда нужно сделать вычисляемое поле - делать его не через persistent field, а выражением в запросе. Когда нужно сделать лукап - делать его не через persistent field, а через джойн в запросе. Если работаете с MSSQL - воспользоваться толковой рекомендацией использовать вместо запросов хранимки, возвращающие рекордсеты. Если, не дай бог, работаете с Oracle - не пользоваться дурацкой рекомендацией использовать вместо запросов хранимки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:20 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Когда нужно сделать вычисляемое поле - делать его не через persistent field, а выражением в запросе.А если вычисление касается других датасетов или данных непосредственно из приложения ? Хотя можно попробовать использовать параметры в подзапросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:18 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer Можно и пару лет, не суть. Суть в том, что "перегенерация базы" подразумевает "перезаливку данных", а "перезаливка данных" требует куда больше времени, чем допустимо отдать на технологическое окно - даже если нет требования 24/7 и технологическое окно вообще существует. softwarer проект электрификации дачного посёлка начинать с постройки АЭ ага. в магазине... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 10:17 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer Суть в том, что "перегенерация базы" подразумевает "перезаливку данных", а "перезаливка данных" требует куда больше времени балкинсерт из старой таблицы в новую. на объемах которыми оперирует магазин это занимает в лучшем случае минуты... откуда месяцы взялись ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 10:28 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Last of 1 as tunknown Задача в том, чтобы расхождение не могло произойти принципиально эта задача решения не имеет словарь метаданных придется кешировать на клиенте для скорости, кеш из-за сбоев рано или поздно протухает, очищаем локальный кеш и формируем новый на клиенте softwarer В каком направлении двигаться.... в датасетах писать запросы. Запросы желательно размещать в модулях данных. Названия и свойства колонок прописывать в гридах. Кроме этого, я не видел ни одной реализации, где более-менее существенная манипуляция с полями не вызывала бы у пользователей проблем именно из-за локальных личных настроек. Эти настройки часто программисту недоступны, поэтому и протестировать-то затруднительно в реальных условиях. Ещё один вопрос- часто с базы тянутся все поля, даже если у пользователя часть их скрыта. Поскольку .visible колонке выставить проще, чем из запроса исключать поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 10:54 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown то добавленные колонки, всё равно, не будут иметь русского имени, размера, формата и т.д. кеш метаданных на клиенте обновится когда клиент поймет что его локальный кеш не соответствует тому что на сервере. откуда возьмутся "бесхозные" колонки? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:22 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Кроме этого, я не видел ни одной реализации, где более-менее существенная манипуляция с полями не вызывала бы у пользователей проблем именно из-за локальных личных настроек если форма грида не хочет открываться из-за того что юзер навертел для себя такое локальное представление грида, что его клиент не может прожевать и отрисовать делают сервисную возможность скинуть пользовательские настройки - привести их к дефалтным для формы ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:25 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Ещё один вопрос- часто с базы тянутся все поля, даже если у пользователя часть их скрыта. Поскольку .visible колонке выставить проще, чем из запроса исключать поле. и вопрос в чем? в 1с допустим невидимое поле для простоты исключается из выборки. но есть свойство "обязательное"... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:27 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
вопросы какие-то... из глубины веков... и эти люди еще учат тех же 1с-ников ковырять в носу ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:28 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Last of 1 as и эти люди еще учат тех же 1с-ников ковырять в носу ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:36 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Last of 1 as и эти люди еще учат тех же 1с-ников ковырять в носу а у вас можно? прямо вот так, любой хрен с горы может зайти и разворотить всю базу? странные задачи вы перед собой ставите ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:38 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Но вопрос в том, как не дублировать "декларативную часть фронтенда" базы на клиенте. Это неправильный вопрос. Правильный - "возможно ли не дублировать декларативную часть фронтенда на клиенте и если да - как это скажется на проекте в целом?" Ответ: опыт показывает, что в этом случае лекарство хуже болезни. Попытки "не дублировать" приводят к тому или иному монстру, которым авторы очень гордятся, напрочь игнорируя тот факт, что производительность у него ниже плинтуса, трудоёмкость создания форм выросла раза в три по сравнению с вариантом "дублировать", а трудоёмкость поиска и исправления ошибок - раз в десять. tunknown Кроме этого, я не видел ни одной реализации, где более-менее существенная манипуляция с полями не вызывала бы у пользователей проблем именно из-за локальных личных настроек. Это как раз вопрос прямизны рук. tunknown Эти настройки часто программисту недоступны Для программиста в его системе нет ничего недоступного. tunknown Ещё один вопрос- часто с базы тянутся все поля, даже если у пользователя часть их скрыта. Поскольку .visible колонке выставить проще, чем из запроса исключать поле. Ну что я могу сказать. Программистами иногда работают люди, которых проще и выгоднее уволить, нежели научить. Если программист, не считающий себя начинающим, не пришёл хотя бы на собственном опыте к правилу "явно указывать все необходимые поля и не указывать лишнего" - стоит поберечь свои нервы от работы с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 13:55 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown, У меня клиент отвязан от базы, полностью. Ничего не умеет, кроме: 1)строить главное меню 2)менять структуру БД 3)собирать формы рантайм 4)выполнять скрипты 4)формировать отчеты Описание форм (оно же описание таблиц БД(данных)) и скрипты хранятся в БД (программ). Обновить "программу" = закачать в БД новые данные. Первый клиент обнаруживший обновление скачивает его, и обновляет структуру БД. Есть конечно вероятность коллизий (когда обновленная "программа" уже в БД(программ), а структура БД(данных) еще не обновилась), но тут все зависит от прямых рук Возможен откат на старые версии. А также "любой хрен с горы может зайти" с соответствующими правами и добавить свою локальную логику, которая не будет обновляться при обновлении основной "программы", или добавить в основные таблицы нужные ему поля. Ясно, что эти таблицы и поля основная "программа" не знает, нужно их скриптом при сборке формы или формировании отчета прописывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2021, 23:52 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
vill_ager Описание форм (оно же описание таблиц БД(данных)) и скрипты хранятся в БД (программ). Скрипты на языке, поддерживаемом базой или поддерживаемом клиентом? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 11:28 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown vill_ager Описание форм (оно же описание таблиц БД(данных)) и скрипты хранятся в БД (программ). Скрипты на языке, поддерживаемом базой или поддерживаемом клиентом? Изменить таблицу можно (серверная часть же в любом случае сама по себе), бывают же поля в таблицах, которые не нужны в формах. Форма может при старте проверять критические параметры структуры таблицы, и в зависимости от этого подстроиться (если написать скрипт). Но я не сталкивался с такой необходимостью ни разу. Скрипты клиента на питоне (2.6-2.7) БД - MySQL, но я не пользуюсь ничем, кроме запросов ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 13:28 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
vill_ager бывают же поля в таблицах, которые не нужны в формах. В сети где-нибудь лежит? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 18:36 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown vill_ager бывают же поля в таблицах, которые не нужны в формах. В сети где-нибудь лежит? Поменять как? Конретный пример? Сломать можно что угодно :) penta.by И тут можно глянуть ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 19:01 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Всех приветствую... Хочу свой опыт расказать... В моей ИС естественно постоянно сталкиваюсь с проблемой разногласий клиентской и серверной части.(учитывая ,что у меня оракл ,это означает зависимость не только полей таблиц но и pl/sql объектов (пакетов функций,процедур) Модульная форма-контейнер ,что будет исполняться опционально(перед инициаализацией) может прочитать и выполнить СУБД sql скрипты что храняться в дереве её зависмостей.(Надо не забывать их добавылять в CLOB поля) 1.Скрипт pl/sql типа Код: plsql 1. 2.
или Код: plsql 1.
2.Сам pl/sql пакет (функцию,процедуру)/ 3.Триггер В случае правильной организации(незабывании добавлять нужный скрипт и тело pl/sql в ИС зависимость формы контейнера много проблем решается. В случае когда у меня было много лет назад хардкодное решение ИС проблему в принципе никак решить координально не удавалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 21:48 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
irbis_al Хочу свой опыт расказать... Модульная форма-контейнер ,что будет исполняться опционально(перед инициаализацией) может прочитать и выполнить СУБД sql скрипты Перевожу на русский: подключение очередного клиента имеет реальный шанс обрушить всю систему. Автора это не особо тревожит потому, что ей пользуются два с половиной человека. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 22:00 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
vill_ager Поменять как? Конретный пример? Сломать можно что угодно :) vill_ager ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 11:04 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
softwarer Ответ: опыт показывает, что в этом случае лекарство хуже болезни. Попытки "не дублировать" приводят к тому или иному монстру, которым авторы очень гордятся, напрочь игнорируя тот факт, что производительность у него ниже плинтуса, трудоёмкость создания форм выросла раза в три по сравнению с вариантом "дублировать", а трудоёмкость поиска и исправления ошибок - раз в десять. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 11:07 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Были поля f1 int,f2 date,f3 varchar. Стали поля f10 float,f20 time,f3 varchar. В MySQLWorkbench все изменения прописали. Клиент после этого запустится? Запустится. Ошибки не будет - поля формы отсутствующие в БД в update/insert не включаются. Но вообще сценарий немного другой, без Workbench-ей: Для изменения структуры в описание добавляются поля, они переносятся в БД (на стадии разработки - по команде, на проде - автоматически при обновлении "программы") Вообще такие изменения бывают в основном на стадии проектирования. Если такое в эксплуатации вылезает - значит изначально что-то неверное сделано. Инструкции нет, т.к. платформа используется в узком кругу. Если есть интерес - могу написать, в стиле вопрос-ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 11:36 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
vill_ager Запустится. Ошибки не будет - поля формы отсутствующие в БД в update/insert не включаются. Код: sql 1.
А дальше происходит привязка полей датасета к полям формы, которая просто игнорирует несоответствия и отсутствия? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 12:24 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Правильно ли я понимаю, что из базы поднимаются все данные через что-то типа Код: sql 1.
А дальше происходит привязка полей датасета к полям формы, которая просто игнорирует несоответствия и отсутствия? Так и есть. Спрашиваем датасет данные поля, если его нет - он вернет пустую строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 12:29 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Правильно ли я понимаю, что из базы поднимаются все данные через что-то типа Код: sql 1.
А дальше происходит привязка полей датасета к полям формы, которая просто игнорирует несоответствия и отсутствия? Опрашиваются метаданные table (макротипа - именованной схемы данных в метаданных), создаются (достаются из кеша) датасет и форма на основе метаданных, генерируется (достается из кеша) select (ы) с учетом прав пользователя. При изменении метаданных БД синхронизируется с метаданными. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 14:58 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos Опрашиваются метаданные table (макротипа - именованной схемы данных в метаданных) , создаются (достаются из кеша) датасет и форма на основе метаданных, генерируется (достается из кеша) select (ы) с учетом прав пользователя. При изменении метаданных БД синхронизируется с метаданными. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 16:35 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown, Я думал на сайте есть Руководство разработчика ВИПРОС, оказалось уже нет (я там не командир). Есть документация полная. Например. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 17:54 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos, ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 17:58 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos, ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 17:58 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos, ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 18:03 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
Можно обратиться в ААУК и получить документацию (я так думаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 18:06 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos, Если я правильно понимаю картинку "Метаструктура", то это всё таблицы конфигурации. Если внести какое либо существенное изменение в физические таблицы с данными на mssql, то настройки перестанут отражать действительность и ничего поднять из кеша не получится. Предполагаю, перегенировать автоматически тоже не выйдет, т.к. слишком много в этих таблицах дозаведённого вручную, чего нет в самих таблицах и их связях. Впрочем, это один из видов стандартного подхода, где многочисленные ручные настройки обязательно должны где-то лежать в данных- захардкоденные на формах или в настроечных таблицах в базе. Применяете ли вы логику выборок во view/процедурах или только таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 19:48 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown ViPRos, Если я правильно понимаю картинку "Метаструктура", то это всё таблицы конфигурации. Если внести какое либо существенное изменение в физические таблицы с данными на mssql, то настройки перестанут отражать действительность и ничего поднять из кеша не получится. Предполагаю, перегенировать автоматически тоже не выйдет, т.к. слишком много в этих таблицах дозаведённого вручную, чего нет в самих таблицах и их связях. Впрочем, это один из видов стандартного подхода, где многочисленные ручные настройки обязательно должны где-то лежать в данных- захардкоденные на формах или в настроечных таблицах в базе. Применяете ли вы логику выборок во view/процедурах или только таблицы? Ну, 1. Что бы иметь возможность поменять данные в таблицах метаданных надо иметь на это права. Там жесткие правила везде и любые изменения данных заставляют на выходе иметь формально работающую прикладную систему. 2. Если кто-то решил изменить структуру метаданных, удалить и т.д. вред нанести умышленно, то обычно с этим бороться сложно, хотя всегда можно восстановить бекап или указать альтернативные пути. 3. Кеш - вспомогательная штука для повышения производительности (иногда наоборот мешает и приходится очистить), если кеш не согласуется с метаданными, то он игнорируется и замешается сгенерированными объектами. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2021, 12:31 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
tunknown Применяете ли вы логику выборок во view/процедурах или только таблицы? 1. Вью - часть метаданных (виртуальный макротип). Есть некоторые отличия от вью на сервере. Не редактируется. 2. Хранимки могут быть обернуты в прикладные методы, не являются частью метаданных. Вощем, в доках все это описано. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2021, 12:36 |
|
О совместимости БД и клиента
|
|||
---|---|---|---|
#18+
ViPRos, Программист может делать что угодно и как угодно в своих прикладных методах, пользоваться всеми возможностями .NET - ВИПРОС ни на что не налагает ограничений. Практически ВИПРОС дает возможность создать и визуализировать макротип на основе метаданных(если попроще Форму (с командами - стандартными и прикладными), контекст данных Формы в виде DataSet, БД и методы работы с БД для синхронизации контекста данных с БД). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2021, 12:50 |
|
|
Start [/forum/topic.php?fid=33&tid=1547058&all=1]: |
0ms |
get settings: |
19ms |
get forum list: |
7ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
10ms |
get topic data: |
2ms |
get forum data: |
1ms |
get page messages: |
43ms |
get tp. blocked users: |
0ms |
others: | 97ms |
total: | 181ms |
0 / 0 |