Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

SQL parser   Найти похожие ветки 

 
zunder ©   (2005-01-18 11:16) [0]

подскажите плз - где найти прасер для разбора SQL запросов


 
Ega23 ©   (2005-01-18 11:23) [1]

MS SQL Server, например. Очень хорошо умеет разбирать запросы. И даже исполняет оные...


 
Sergey13 ©   (2005-01-18 11:29) [2]

2[1] Ega23 ©   (18.01.05 11:23)
>MS SQL Server
Оракл круче. 8-)


 
zunder ©   (2005-01-18 12:03) [3]

мне надо чтобы в синтаксический разбор запроса в проге сделать


 
}|{yk ©   (2005-01-18 12:16) [4]

возьми ZeosLib - там есть такой компонент


 
Соловьев ©   (2005-01-18 12:21) [5]

>мне надо чтобы в синтаксический разбор запроса в проге сделать
а зачем?


 
zunder ©   (2005-01-18 13:15) [6]

}|{yk
может еще пору ссылок путевых кинешь где о нем пишут :-)

Соловьев
чтобы извращенские запросы которые есть уже в проге работали нормально после моей обработки


 
Sergey13 ©   (2005-01-18 13:17) [7]

2[6] zunder ©   (18.01.05 13:15)
>чтобы извращенские запросы которые есть уже в проге работали нормально после моей обработки
Не шибко самонадеяно? И как ты это себе представляешь? Может просто админа на базу надо?


 
zunder ©   (2005-01-18 13:24) [8]

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


 
Соловьев ©   (2005-01-18 13:26) [9]

>чтобы извращенские запросы которые есть уже в проге работали
>нормально после моей обработки
не понятно. поясни.

>ZeosLib
http://sourceforge.net/projects/zeoslib/


 
Соловьев ©   (2005-01-18 13:27) [10]

>а запросы нужно изменять, находить в них места вставки, ...
>и генерить новый для создания отчета
неизобретай велосипед.


 
Sergey13 ©   (2005-01-18 13:29) [11]

2[10] Соловьев ©   (18.01.05 13:27)
>неизобретай велосипед.
Безколесный, ИМХО.


 
zunder ©   (2005-01-18 13:53) [12]

вообщем есть задание:
дан извращенный запрос
его нужно разложить по косточкам и собрать новый
с учетом извращенного ума юзера
для генератора отчета. делов то ;-)

всем спасибо за ответы, библиотеку качаю, скоро испытывать буду


 
Sergey13 ©   (2005-01-18 13:56) [13]

2[12] zunder ©   (18.01.05 13:53)
>с учетом извращенного ума юзера
А извратность ума входным параметром будет? 8-)

>библиотеку качаю, скоро испытывать буду
Испытаешь - напиши - интересно.
Можно тут даже извратных запросов для теста поспрошать. 8-)


 
Соловьев ©   (2005-01-18 13:56) [14]

>его нужно разложить по косточкам и собрать новый
>с учетом извращенного ума юзера
>для генератора отчета. делов то ;-)

а смысл? Неужели нельзя просто собрать свой запрос без разбора извращенного?


 
pasha_golub ©   (2005-01-18 14:19) [15]

Ребята, чего вы накинулись? Бывают случаи когда парсер нужен, например если наследника Датасета пишешь.

Посмотри вот этот: http://www.wangz.net/gsqlparser/
Из всего что есть самый в порядке, правда хелп у него деревянный, но думаю это можно победить. Зеос можешь не пробовать, потому как он не вылавливает ошибки в синтаксисе, замучаешься потом.


 
Danilka ©   (2005-01-18 14:20) [16]

Обычно, для всяких генераторов отчетов достаточно крячить последние секции: WHERE и ORDER BY, а на это особого умения и суперхитрых компонент не надо. :)
А для СУБД поддерживающие запросы из запросов и того проще - оборачиваешь начальный запрос в свой и все.


 
Sergey13 ©   (2005-01-18 14:26) [17]

2[16] Danilka ©   (18.01.05 14:20)
>Обычно, для всяких генераторов отчетов достаточно
А мой опыт говорит об обратном. В отчетах самые хитрые вопросы и идут.

> крячить последние секции: WHERE и ORDER BY, а на это особого умения и суперхитрых компонент не надо. :)
А по моему там самое интересное и начинается. 8-)
Особенно если
>СУБД поддерживающие запросы из запросов


 
Danilka ©   (2005-01-18 14:32) [18]

[17] Sergey13 ©   (18.01.05 14:26)
Хм, а чего-там интересного обернуть запрос в свой, если СУБД поддерживающие запросы из запросов? По-моему как-раз самое простое. :)
Впрочем, может просто это я такой неприхоливый? :)


 
Sergey13 ©   (2005-01-18 14:42) [19]

2[18] Danilka ©   (18.01.05 14:32)
А чего оборачивать то? Автор хочет кривые запросы сделать прямыми. Тут мало отпарсить кривой, надо еще, ИМХО, такой ИИ написать, что бы он на основании этого прямой забацать мог.

ЗЫ: кстати интересно бы еще на [14] Соловьев ©   (18.01.05 13:56) ответ автора почитать.


 
Danilka ©   (2005-01-18 14:52) [20]

[19] Sergey13 ©   (18.01.05 14:42)
На счет ИИ, это да, но, хоть я и не телепат, все-таки думаю, что с кривыми запросами автор погорячился, наверняка есть основной запрос, есть какие-то параметры отчета, на основании которых надо что-то менять. Слишком много менять - это уже новый отчет получится, наверняка меняются условие выборки и сортировка, а это все делается без всяких парсеров. :))

А на счет [14].. бывает, в отчетах такие запросища висят, по нескольку килобайт.. Тут, однако, тоже ИИ не помешал-бы. :))


 
msguns ©   (2005-01-18 15:06) [21]

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


 
Stanislav ©   (2005-01-18 15:07) [22]

Для того чтобы небыло кривых запросов может стоит подумать в сторону конструктора


 
zunder ©   (2005-01-18 15:14) [23]

>Для того чтобы небыло кривых запросов может стоит подумать в сторону конструктора
конструктором долго


 
zunder ©   (2005-01-18 16:56) [24]

>Неужели нельзя просто собрать свой запрос без разбора извращенного?
т.е. если у меня допустим 100 запросов написать вместо них свои 100 для отчетов
а потом вдруг у меня появляется еще 10 и опять писать свои 10
или я что-то не так понял.
не нравиться мне переделывать проги каждый раз как моча в голову ударит кому-то ;-)


 
Соловьев ©   (2005-01-18 17:01) [25]

ну храни запросы в базе и отчеты. Встрой дизайнер отчетов и настраивай и добавляй запросы сколько душе угодно.


 
zunder ©   (2005-01-18 17:17) [26]

это уже все есть и FastReport используется только не все юзеры умеют им пользоваться, поэтому решили что нужно создать модальную форму в которой м.б. из открытого запроса сгенерить отчет "любой сложности" в рамках разумного


 
Соловьев ©   (2005-01-18 17:21) [27]

>из открытого запроса сгенерить отчет "любой сложности" в рамках
>разумного

Т.е. юзеры SQL выучили, а с FastReport недогнали? неверю...


 
zunder ©   (2005-01-18 17:26) [28]

они не того(FastReport) не другого(SQL) не догоняют, имеется ввиду представленный в открытом гриде запрос


 
Соловьев ©   (2005-01-18 17:28) [29]

>имеется ввиду представленный в открытом гриде запрос

Т.е. данные запроса? И как должен генерится отчет? По комбинациям полей что-ли? Что это за задача? ИМХО, что бы ср.ть не хотелось


 
msguns ©   (2005-01-18 18:11) [30]

>zunder ©   (18.01.05 17:17) [26]
>это уже все есть и FastReport используется только не все юзеры умеют им пользоваться, поэтому решили что нужно создать модальную форму в которой м.б. из открытого запроса сгенерить отчет "любой сложности" в рамках разумного

маразм


 
Vit@ly ©   (2005-01-18 18:24) [31]

ИМХО проблема здесь может возникнуть не с запросами, а скорее всего с отчетами:)
Выложи на модальную форму контролы, (эдиты, комбобоксы, чекбоксы и т.д), по их состоянию, которое создал пользователь, формируй (правильный) запрос.
А вот с отчетом я себе не очень представляю.


 
msguns ©   (2005-01-18 18:43) [32]

>Vit@ly ©   (18.01.05 18:24) [31]

Есть один метод. Не очень красивый (для юзера в первую очередь), зато универсльный. Кидаешь полученный "сварганеным" запросом датасет в ексель и пусть узер рисует шапки, красит строчки, лепит трэйдмарки и т.д.



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.089 c
3-1105949104
KAA
2005-01-17 11:05
2005.02.20
MSSQL 2000 Настройка прав для связанных серверов


3-1106207476
Duka
2005-01-20 10:51
2005.02.20
Структура базы cds


14-1107197461
pika
2005-01-31 21:51
2005.02.20
медия форматы


14-1106866890
Soft
2005-01-28 02:01
2005.02.20
Пятничная задачка. Кто такие эльфы?


1-1107773373
__oleg
2005-02-07 13:49
2005.02.20
В DLL не работает процедура со строковыми параметрами