Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выполнить запрос посредством скрипта? [D5, D7, MSSQL]


Dp ©   (2003-12-24 21:55:00) 

Господа, ГОРЮ! Допустим, на стороне сервера имеется заранее созданный скрипт xxx.sql. Как запустить его из своего приложения, передав какой-либо параметр в WHERE и получить набор строк??? Как запустить SP или выполнить процедуру, определенную пользователем я знаю. А тут - встал в тупик!


Ega23   (2003-12-25 15:39:00) [1]


> 2 Reindeer Moss Eater

Интересное решение!


АлексейК   (2003-12-25 14:06:00) [2]

exec("select * from table where .....")


Dp   (2003-12-25 13:32:00) [3]

2 Reindeer Moss Eater
А это мысль! Сейчас буду пробовать.


Reindeer Moss Eater   (2003-12-25 12:52:00) [4]

Парсер в данном случае, полагаю, не причем. Скрипт должен выполняться на стороне сервера (там в каталоге он и хрантся). Т.е. SQL запрос формируется не из приложения. Получается некий аналог SP, что-ли? Из приложения посредством T-SQL лишь должна отдаваться команда SQLServer у на выполнение данного скрипта и получение после его выполнения набора строк.

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


just me   (2003-12-25 12:44:00) [5]

Можно через SQL-DMO, метод ExecuteImmediate


Term   (2003-12-25 10:17:00) [6]

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


Nikolay M.   (2003-12-25 09:59:00) [7]

Решение некрасивое, но должно сработать:

EXEC xp_cmdshell "isql -SSERVER -dDATABASE -UUSER -PPASSWORD -iFILENAME"

или другими средствами выполнить на сервере
isql -SSERVER -dDATABASE -UUSER -PPASSWORD -iFILENAME

Естественно, если права есть.


YuRock   (2003-12-24 23:24:00) [8]

Ну тогда разве что в SP парсь :))
Вообще скрипты, на сколько я понимаю, к серверу иметь отношения не должны. Может, я и ошибаюсь (смотря какой сервер...)


Dp   (2003-12-24 23:18:00) [9]

Парсер в данном случае, полагаю, не причем. Скрипт должен выполняться на стороне сервера (там в каталоге он и хрантся). Т.е. SQL запрос формируется не из приложения. Получается некий аналог SP, что-ли? Из приложения посредством T-SQL лишь должна отдаваться команда SQLServer у на выполнение данного скрипта и получение после его выполнения набора строк.


YuRock   (2003-12-24 22:39:00) [10]

Попробуй использовать компонет Rx SQLScript. Или пиши свой парсер.


Наверх

Титульная страница Поиск, карта сайта Написать письмо