|
О совместимости БД и клиента
|
|||
---|---|---|---|
#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 |
|
|
start [/forum/search_topic.php?author=Maxim.K&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 20161ms |
total: | 20337ms |
0 / 0 |