По сути, я ищу эквивалент SqlCommandBuilder.DeriveParameters
, который будет работать для произвольного T-SQL.
Например, для этого запроса требуется один параметр:
SELECT @Foo [Foo], '@Bar' [Bar], @Baz [Baz]
Iв основном нужно извлечь:
new[] { "Foo", "Baz" }
сверху.Я мог бы создать анализатор SQL, но у меня открытое соединение с сервером SQL, поэтому я предпочел бы использовать существующую опцию, если это возможно.
Редактировать:
Там может иметь способ сделать это, потому что 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
Что объясняет, как он может определять столбцы, но это может быть просто разбором строки для получения параметров ...