В принципе, я ищу эквивалент SqlCommandBuilder.DeriveParameters
, который будет работать для произвольного T-SQL.
Например, для этого запроса требуется один параметр:
SELECT @Foo [Foo], '@Bar' [Bar], @Baz [Baz]
Мне в основном нужно извлечь:
new[] { "Foo", "Baz" }
Сверху. Я мог бы создать парсер SQL, но у меня есть открытое соединение с SQL-сервером, поэтому я предпочел бы использовать существующую опцию, если это возможно.
<ч/" > Edit:
Должен быть способ сделать это, потому что SQL Server Business Intelligence Development Studio может сделать это очень успешно.
<ч/" > Изменить 2:
SQL BIDS выполняет эту команду, чтобы описать результаты:
exec sp_executesql N'SET FMTONLY OFF;SET FMTONLY ON;SELECT @Foo [Foo], ''@Bar'' [Bar], @Baz [Baz]',
N'@Foo sql_variant,@Baz sql_variant',
@Foo=NULL,@Baz=NULL
Что объясняет, как он может определять столбцы, но это может быть просто синтаксический анализ для получения параметров...