gopstop2007 писал(а): ↑01 Март 2020, 18:25
кого есть готовое и рабочее решение сабжа для вывода в таблицу (например: IMDD), результат примерно около 20-и полей (колонок) произвольного формата.
Хочу выводить разные запросы в одной таблице.
Для MS SQL я особо не парился и использовал для этой цели sqlcmd.
Вот пример bat-файла:
Код: Выделить всё
start /I /min sqlcmd -S TYCOON\SQL2008R2 -U myLogin -P mypsw -i SQL_ListSpec.sql -o myoutput.txt -s ";"
то же самое, но без вывода заголовка полей:
Код: Выделить всё
start /I /min sqlcmd -S TYCOON\SQL2008R2 -U myLogin -P mypsw -i SQL_ListSpec.sql -o myoutput.txt -s ";", -h "-1"
Вот полученный выходной текстовый файл:
Контекст базы данных изменен на "Abitur".
ID ;Shortname ;FullName ;SrokObuchen;StoimObuch;StoimObuchPoln;DopProf ;ChangeDate ;FormObuch ;Arhiv;SrokObuchenY;SrokObuchenM;DATEBEGINLKONTRAKT;DATEENDLKONTRAKT;IdShtat ;PlanPriema ;SokrName
------------------------------------;----------------------------------------;------------------------------------------------------------------------------------------------------------------------;-----------;----------;--------------;------------------------------------------------------------------------------------------------------------------------;-----------;--------------------;-----;------------;------------;------------------;----------------;-----------;-----------;--------------------
733c1df7-0952-4820-bdf4-97fd64bbaefb;060501 ;Лабораторная диагностика на базе среднего (полного) общего образования 11 кл ; 3.00; .00; .00; ; 0;очная ; NULL; 2; 10; NULL; NULL; NULL; NULL;NULL
3 ;060102 ;060102 Акушерское дело 11 кл. (очная форма обучения на базе среднего общего образования) ; 4674.71; 21207.00; 63621.00; ; 0;очная ; NULL; 2; 10; 76583; 77616; NULL; NULL;NULL
9247ae04-94d2-46c7-a7d0-66aeffb31ac0;31.02.01 ;31.02.01 Лечебное дело (очная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 3; 10; NULL; NULL; 1; 125;Леч-11
426a5469-b5b3-4083-9518-dbfb00d1261a;31.02.02 ;31.02.02 Акушерское дело 9 кл. (очная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 3; 10; NULL; NULL; 1; 50;Ад-9
9 ;060501 (09) ;060501 Сестринское дело на базе основного общего образования (базовой подготовки) ; .00; 21077.00; 84308.00; ; 0;очная ; NULL; 3; 10; 76583; 77981; NULL; NULL;NULL
c758cee0-3121-4d25-99d0-f91b58c9a6dd;31.02.02 ;31.02.02 Акушерское дело 11 кл. (очная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 2; 10; NULL; NULL; 1; 25;Ад-11
e27cf296-e09f-4e9b-ae29-c6568407ccb3;31.02.03 ;31.02.03 Лабораторная диагностика 11 кл. (очная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 2; 10; NULL; NULL; 1; 25;Лаб-11
7184e148-50a0-4ab0-a5d7-baeeb3905522;31.02.03 ;31.02.03 Лабораторная диагностика 9 кл. (очная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 3; 10; NULL; NULL; 1; 50;Лаб-9
de399df3-ddee-4567-ac62-28bb237b11eb;31.02.05 ;31.02.05 Стоматология ортопедическая (очная форма обучения) на базе среднего общего образования ; 3.00; .00; .00; ; 77984;очная ; 1; 2; 10; NULL; NULL; 1; 25;Ст-11
172473a3-f924-48ba-b071-8a62214e567c;34.02.01 ;34.02.01 Сестринское дело 11 кл. (очная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 2; 10; NULL; NULL; 1; 75;Сд-11
42a0b19a-738c-4ca2-a3c5-bffd0a93bfd5;34.02.01 ;34.02.01 Сестринское дело 9 кл. (очно-заочная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 77984;очная ; 0; 4; 10; 0; 0; 1; NULL;NULL
f52e817a-d471-4504-b027-3a644a08f75f;34.02.01 ;34.02.01 Сестринское дело (очно-заочная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 77984;очно-заочная ; 1; 3; 10; 0; 0; 1; 30;Сд-оз
3d0c668d-f9a7-478c-9196-e7414df6297b;34.02.01 ;34.02.01 Сестринское дело 9 кл. (очная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 77984;очная ; 1; 3; 10; NULL; NULL; 1; 200;Сд-9
21 ;060110.51 ;060604 Лабораторная диагностика 11 кл. (очная форма на базе среднего общего образования) ; 3.00; .00; .00; ; 0;очная ; 0; 2; 10; NULL; NULL; NULL; NULL;NULL
23 ;060109.51 ;060109.51 Сестринское дело (на базе годичных курсов по подготовке медицинских сестер для детских яслей) ; .00; 4509.00; 26149.00; ; 0;очно-заочная ; 0; 2; 5; 76583; 77467; NULL; NULL;NULL
25 ;060501 ;060501 Сестринское дело 9 кл. (углубленной подготовки, очная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 0;очная ; NULL; 4; 10; 0; 0; NULL; NULL;NULL
26 ;060501.01 ;060501.01 Младшая медицинская сестра по уходу за больными (на базе среднего (полного) общего образования) ; 3.00; .00; .00; ; 0;очная ; 0; NULL; 10; NULL; NULL; NULL; NULL;NULL
20003 ;060102 ;060102 Акушерское дело 9 кл. (очная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 0;очная ; NULL; 3; 10; NULL; NULL; NULL; NULL;NULL
20007 ;060501 (11) ;060501 Сестринское дело 11 кл. (очная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 0;очная ; NULL; 2; 10; NULL; NULL; NULL; NULL;NULL
20008 ; ;060501 Сестринское дело (очно-заочная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 0;очно-заочная ; NULL; 3; 10; NULL; NULL; NULL; NULL;NULL
20009 ; ;060501 Сестринское дело 9 кл. (очная форма обучения на базе основного общего образования) ; 3.10; 15000.00; 65500.00; ; 0;очная ; NULL; 3; 10; NULL; NULL; NULL; NULL;NULL
20011 ;060604 ;060604 Лабораторная диагностика 9 кл. (очная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 0;очная ; NULL; 4; 10; NULL; NULL; NULL; NULL;NULL
20018 ;060203 ;060203 Стоматология ортопедическая (очная форма обучения на базе среднего общего образования) ; 3.00; 24000.00; .00; ; 0;очная ; NULL; 2; 10; NULL; NULL; NULL; NULL;NULL
20019 ; ;060101 Лечебное дело (очная форма обучения на базе среднего общего образования) ; 3.00; .00; .00; ; 0;очная ; NULL; 3; 10; NULL; NULL; NULL; NULL;NULL
20020 ;060501 ;060501 Сестринское дело 9 кл (очно-заочная форма обучения на базе основного общего образования) ; 3.00; .00; .00; ; 0;очно-заочная ; 0; 4; 10; NULL; NULL; NULL; NULL;NULL
(обработано строк: 25)
Удаляем первую строку Контекст базы данных изменен на "Abitur" и последнюю (обработано строк: 25). И сохраняем в CSV. Далее этот файл импортируется в ASCII или BASIC файл, прописанный в словаре с запасом по полям. Показываем юзеру этот файл в станд. броузе.
Мой sql-файл:
Код: Выделить всё
USE Abitur
SELECT [ID]
,[Shortname]
,[FullName]
,[SrokObuchen]
,[StoimObuch]
,[StoimObuchPoln]
,[DopProf]
,[ChangeDate]
,[FormObuch]
,[Arhiv]
,[SrokObuchenY]
,[SrokObuchenM]
,[DATEBEGINLKONTRAKT]
,[DATEENDLKONTRAKT]
,[IdShtat]
,[PlanPriema]
,[SokrName]
FROM [Abitur].[dbo].[OTDELEN]
GO
Вот как выглядит у меня:
Я не делал для себя броус, т.к. у меня корректирующие или подсчитывающие запросы. Возвращают лишь несколько цифирек.
З.Ы. Ну, ес-но, обработка текстового файла выполняется программно.