Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.037 c
4-1103533130
Ma3aXaka
2004-12-20 11:58
2005.02.20
какие winapi использует виндовая утилита net file?


3-1106208891
Colci
2005-01-20 11:14
2005.02.20
Помогите разобраться с датами


6-1102619223
Алена М.
2004-12-09 22:07
2005.02.20
Сетевой пароль


4-1104331406
НовичокНовый
2004-12-29 17:43
2005.02.20
Запустить внешнее приложение


10-1080597324
GanibalLector
2004-03-30 01:55
2005.02.20
MDAC и DCOM





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский