기본적으로 임의의 T-SQL에서 작동하는 SqlCommandBuilder.DeriveParameters
에 해당하는 항목을 찾고 있습니다.임의의 T-SQL에 필요한 매개 변수를 어떻게 결정합니까?
SELECT @Foo [Foo], '@Bar' [Bar], @Baz [Baz]
나는 기본적으로 추출해야합니다 : 위부터
new[] { "Foo", "Baz" }
예를 들어,이 쿼리는 하나 개의 매개 변수가 필요합니다. SQL 파서를 만들 수는 있지만 SQL 서버에 대한 연결이 열려 있으므로 가능하면 기존 옵션을 사용하는 것을 선호합니다.
편집 : SQL 서버의 비즈니스 인텔리전스 개발 Studio를 매우 성공적으로이 작업을 수행 할 수 있기 때문에
이 이을 가지고,이 할 수있는 방법이 될 수 있습니다.
편집 2 :
SQL 입찰 결과를 설명하기 위해이 명령을 실행 :이 열을 결정할 수 있지만,이수 있습니다 방법을 설명
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
매개 변수를 얻기 위해 문자열 파싱 만하면됩니다 ...
어떻게이 초기 문자열을 구축하고 있습니까? 필수 매개 변수를 찾기 위해이 문자열을 동적으로 구축하는 데 사용할 수있는 무언가가 있습니까? – mservidio
Business Intelligence Development Studio에서 서버를 볼 때 SQL 프로파일 러에 흥미로운 점이 있습니까? 서버 함수인지 문자열 파싱인지 알 수 있습니다. – AakashM
아마도 정규 표현식을 사용하여 따옴표로 묶이지 않은 @variables를 찾을 수 있습니다. – mservidio