Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Узнать структуру результата динамического запроса средствами T-SQL  [new]
R.Alex
Member

Откуда: Воронеж
Сообщений: 5
Мир вам, многоуважаемые.
Есть запрос SELECT в строке nvarchar, задача - узнать имена и типы столбцов результата.
Особенность в том, что соединение read-only, создать даже временную таблицу нельзя.
Код будет работать в Execute SQL Task в SSIS-пакете, SQL Server 2014.
Script Task c С#/VB не предлагать (с ним не работает при запуске пакета из DTExec).
Есть в C# метод Reader.GetSchemaTable, а вот нет ли процедуры, делающей то же самое,
среди тонны MS-овских системных процедур?
OPENQUERY для сведения двух соединений вместе буду пробовать, ищу и другой путь.
Спасибо.
16 сен 16, 17:09    [19674971]     Ответить | Цитировать Сообщить модератору
 Re: Узнать структуру результата динамического запроса средствами T-SQL  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
R.Alex,

SET FMTONLY OFF ?
16 сен 16, 17:11    [19674988]     Ответить | Цитировать Сообщить модератору
 Re: Узнать структуру результата динамического запроса средствами T-SQL  [new]
invm
Member

Откуда: Москва
Сообщений: 9396
sys.dm_exec_describe_first_result_set
sys.sp_describe_first_result_set
16 сен 16, 17:42    [19675201]     Ответить | Цитировать Сообщить модератору
 Re: Узнать структуру результата динамического запроса средствами T-SQL  [new]
R.Alex
Member

Откуда: Воронеж
Сообщений: 5
Близко к тому, что ищу. Пишут, что SET FMTONLY ON устаревает и заменено sp_describe_first_result_set
Но SSMS 2016 ругается и на процедуру sys.sp_describe_first_result_set
и на вьюху sys.dm_exec_describe_first_result_set - Can not find. Как же их использовать?
16 сен 16, 17:44    [19675208]     Ответить | Цитировать Сообщить модератору
 Re: Узнать структуру результата динамического запроса средствами T-SQL  [new]
R.Alex
Member

Откуда: Воронеж
Сообщений: 5
Понял, select @@VERSION;
Microsoft SQL Server 2008 (RTM)
Спасибо что просветили.
16 сен 16, 17:45    [19675214]     Ответить | Цитировать Сообщить модератору
 Re: Узнать структуру результата динамического запроса средствами T-SQL  [new]
iljy
Member

Откуда:
Сообщений: 8711
R.Alex,

с трудом представляю, кому понадобилось запрещать доступ к tempdb, но можете получить xml-схему и парсить в свое удовольствие

declare @t table (x int, y datetime, z varchar(100))

SELECT Top(0) *
FROM   @t
FOR XML AUTO, XMLSCHEMA ('MyURI') 
16 сен 16, 17:47    [19675220]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить