Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Построитель запросов / 25 сообщений из 59, страница 1 из 3
14.01.2011, 22:08:58
    #37059947
Вопросник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Надо бы новый проект наваять. Для "внутреннего" пользования.
В стиле "тяп-ляп", чтобы без особого напряга, но так, чтобы долго не возвращаться.

Исходные данные: есть система регистрации событий. Зарегистрированные данные хранятся в субд FireBird. Естественно, метаданные базы постоянно эволюционируют.

Ну вот, есть еще пользователи, заинтересованные в этих самых данных. При чем, что они хотят сегодня - вроде бы известно, но это не то, что они хотели вчера. А что они захотят завтра - неизвестно вообще никому.

Кое-что все же известно:
1) хранящиеся данные модифицироваться этими самыми юзерами не будут никогда;
2) данные нужны как в жидком (скроллируемая табличка), так и в твердом виде (отчет).
3) IBExpert в руки юзерам давать нельзя, тут и обсуждать нечего.

Работа будет выглядеть так: юзер запускает эту чЮдо-программку, вводит логин/пароль; после коннекта юзер видит список доступных видов (например, в стиле а-ля Opera, с табами, ну или еще как).
Если он такой умный, то может создавать новый вид сам, если нет - то: обычный select from... , возможно, с параметрами. Если запрос компилируется и выполняется без ошибок, он запоминается (особая табличка в базе). Полям запроса могут быть в полуавтоматическом режиме (например, на основе описания полей или их доменов) заданы русские алиасы.
Ну, на основе запросов можно сваять FastReport - отчетик (отчетики), а шаблончик(...чики) его(их) также запомнить его специальной табличко.

Если вид стал нерабочим (например, из-за противоречий с новыми метаданными базы), то его можно либо изменить до рабочего состояния (исправив sql - предложение), либо просто "убить".

Вот и все.

Работы вроде немного, но все равно, вопрос: может, кто-нибудь знает что-то похожее готовое?
...
Рейтинг: 0 / 0
15.01.2011, 12:09:26
    #37060272
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Вопросник,

запросы будут из одной таблицы, или юзвери понимают, что такое джойн?
...
Рейтинг: 0 / 0
15.01.2011, 22:55:50
    #37060876
Вопросник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
andreymx...
запросы будут из одной таблицы, или юзвери понимают, что такое джойн?
1. Запросы произвольные. Sql-предложение будет настолько сложным, насколько хитер составитель и насколько его готов "скушать" сервер. Первый этап - ввод sql-предложения просто в виде текста, следующий (возможно) - предоставление интерфейса для подключения какого-нибудь графического QueryBuilder (мне лично - не нужно).

2. Ожидаемая ценность проекта в том числе именно в его доступности и в нулевой коммерческой стоимости. Я вполне понимаю, что практически все делать придется мне самому. Ожидаемая польза - поток критики.

3. Модуль запросов практически готов. Сейчас соображаю, как лучше это все визуализировать. В последнюю очередь будет модуль работы с отчетами. Думал, рабочий вариант будет готов к понедельнику.
...
Рейтинг: 0 / 0
16.01.2011, 08:05:38
    #37061053
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Вопросник,

Генератор отчетов
http://www.onlinedisk.ru/file/590787

Сервер с демонстрационной БД для генератора отчетов
http://www.onlinedisk.ru/file/590791
...
Рейтинг: 0 / 0
16.01.2011, 09:37:38
    #37061073
Drunken Dolphin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
MaratIsk,

и? как это дело запустить?
...
Рейтинг: 0 / 0
16.01.2011, 10:04:46
    #37061081
milton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Вопросник,

ВопросникНадо бы новый проект наваять. Для "внутреннего" пользования.
В стиле "тяп-ляп", чтобы без особого напряга, но так, чтобы долго не возвращаться.


Истинно русский подход (в нехорошем смысле)

ВопросникМетаданные базы постоянно эволюционируют.

Любопытно. Видимо они (метаданные) определяются по генетическому алгоритму (как в нейронных сетях).

Вопросникесть еще пользователи, заинтересованные в этих самых данных. При чем, что они хотят сегодня - вроде бы известно, но это не то, что они хотели вчера. А что они захотят завтра - неизвестно вообще никому

Такие пользователи есть всегда. Единственный способ борьбы с этим — заставить их письменно описывать необходимость своих хотелок.


ВопросникIBExpert в руки юзерам давать нельзя, тут и обсуждать нечего.

Интересно почему, если дальше вы пишите:

ВопросникЕсли он такой умный, то может создавать новый вид сам, если нет - то: обычный select from... , возможно, с параметрами

Ну так если допускается самостоятельное написание пользователем SQL запроса, то дайте пользователю уже готовую бесплатную утилиту для написания и экспорта результатов SQL (коих, великое множество) и не мучьте его собственными тяп-ляповскими поделками.
...
Рейтинг: 0 / 0
16.01.2011, 10:28:01
    #37061091
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphinи? как это дело запустить?запустить indserver в систрее будет его иконка - сервер с зеленым кругом
проверить доступность бд во вкладке Сервисы
порт по умолчанию 2106 можно изменить в ини файле
если сервера firebird нет, то в настройках сервера убрать IP адрес и указать только путь к файлу

у клиента в настройках установить IP, порт сервера, имя запрашиваемого сервиса
Например RGENERATOR
на панели инструментов есть кнопка команды подключения к серверу

и все
...
Рейтинг: 0 / 0
16.01.2011, 10:34:04
    #37061092
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,

правая кнопка вызовет его меню Настройка
для отображения главного окна
...
Рейтинг: 0 / 0
16.01.2011, 10:39:05
    #37061095
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,
...
Рейтинг: 0 / 0
16.01.2011, 10:47:17
    #37061101
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,

если без сервера то убрать
...
Рейтинг: 0 / 0
16.01.2011, 10:51:40
    #37061104
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Вопросник,

а2007
использовала нечто похожее-самописка

-пользователю давался список полей матрешки(основная таблица и 2-3 join) --таб0
-он открывал табличку своих потоебностей --таб1
-и выбирал нужное в нужном порядке из таб0 в тав2
-сортировка по порядку полей
-одно поле --признак итогов
если оно есть, но для последующих суммировка, до него --группировка
если нет --список
-дополнительно поля выбора на LIKE
-по получившемуся запросу формировался НТМ отчет и автоматом открывался в броузере
-при необходимости он-же открывался в ворде(для печати с автоподгоном ширины столбцов)
-или в екселе --для доработки

нестандартные потребности пользователей покрывал процентов на 90

второй вариант --сводная в экселе 2007 на основе матрешки в аксессе, с настройкой полей на конкретную службу завода
...
Рейтинг: 0 / 0
16.01.2011, 11:03:33
    #37061106
Drunken Dolphin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
MaratIskDrunken Dolphin,

если без сервера то убрать
...
Рейтинг: 0 / 0
16.01.2011, 11:21:41
    #37061110
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,

если без сервера то должен быть SYSDBA
для другого имени нужно будет грантить доступ к TB_REPS и TB_REPS_PARS
...
Рейтинг: 0 / 0
16.01.2011, 11:24:26
    #37061111
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,

или так
GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
ON TB_REPS_PARS TO "PUBLIC";

GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
ON TB_REPS TO "PUBLIC";
...
Рейтинг: 0 / 0
16.01.2011, 11:28:08
    #37061113
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,

а еще проще поставить флажок - Системная авторизация и прописать туда SYSDBA
...
Рейтинг: 0 / 0
16.01.2011, 12:02:19
    #37061132
Drunken Dolphin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
MaratIskDrunken Dolphin,

а еще проще поставить флажок - Системная авторизация и прописать туда SYSDBA

заработало.
это фактически юзер должен писать sql-запросы??
это нереально.
...
Рейтинг: 0 / 0
16.01.2011, 12:14:38
    #37061139
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Drunken Dolphin,

продвинутый до знания структуры БД :))
а если серьезно, то это инструмент для разработки отчетов а уж кто их разработает не важно
...
Рейтинг: 0 / 0
16.01.2011, 19:26:06
    #37061429
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Вопросник,

не особо разбирался в тонкостях вопроса

но если идет речь о генераторах запросов, то вот один попадался:

Active Query Builder
...
Рейтинг: 0 / 0
16.01.2011, 20:52:05
    #37061487
Построитель запросов
MaratIskDrunken Dolphin,

продвинутый до знания структуры БД :))
а если серьезно, то это инструмент для разработки отчетов а уж кто их разработает не важно

Так ты им тогда сразу дипломы программистов выдай, пользователям своим. Пущай сидят, программируют. И интерпретатор своего языка туда добавь, вообще будешь как Нуралиев.
...
Рейтинг: 0 / 0
16.01.2011, 20:54:43
    #37061494
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Максимум, что выдаем пользователю - эксель с загруженными данными
где он творит всё, что хочет
...
Рейтинг: 0 / 0
16.01.2011, 20:57:42
    #37061495
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
еще бы неплохо учесть то, что среднестатистическому юзеру глубоко начхать:
- на количество загребаемых его запросами ресурсов
- на бинды
- он не знает тонкостей и всей глубины разработанной нами API
и т.д.
...
Рейтинг: 0 / 0
16.01.2011, 20:58:56
    #37061496
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
andreymxеще бы неплохо учесть то, что среднестатистическому юзеру глубоко начхать:
- на количество загребаемых его запросами ресурсов
- на бинды
- он не знает тонкостей и всей глубины разработанной нами API
и т.д.кстати, среднестатистический говнокодер обладает такими же качествами
:)
...
Рейтинг: 0 / 0
16.01.2011, 21:47:40
    #37061537
Вопросник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
MaratIsk, просто шикарно! :) Практически 100% то, что я хотел.

Думаю чуть модифицировать твою служебную структуру: введу для каждого именованного запроса историю версий запроса (то же самое - для хранимых шаблонов отчетов). Чтобы криворукие юзеры могли внести свои кривые изменения, а я бы потом смог легко вернуться к истинной (т.е. верной) версии.

...ну и не стану заморачиваться на мультисерверность. Хотя здорово, конечно.
...
Рейтинг: 0 / 0
16.01.2011, 21:59:01
    #37061552
Вопросник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
MaratIsk, как-то странно, что у вас шаблоны запросов сперва в файлах сохраняются, а только потом их можно загрузить...
...ну да ладно, это все дело техники и вкуса.
...
Рейтинг: 0 / 0
16.01.2011, 22:12:53
    #37061572
Вопросник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построитель запросов
Вопросник...запроса историю версий запроса (то же самое - для хранимых шаблонов отчетов)...
...а также историю версий значений параметров. Это будет рюхно. :)

Кто-то уже как бэ...
Так ты им тогда сразу дипломы программистов выдай, пользователям своим. Пущай сидят, программируют. И интерпретатор своего языка туда добавь, вообще будешь как Нуралиев.

1. Ну, мы же все понимаем, что юзеры будут только смотреть на результаты запросов. Ввел параметры значение параметров, полистал результаты, экспортировал в MS Excel (etc), всё. А запросы придется писать нам . Хотя, для моей задачи юзерами будут другие программеры (проект - "внутренний").

2. "Интерпретатор языка" в генераторе Марата и так присутствует (FastScript).
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Построитель запросов / 25 сообщений из 59, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]