2012-06-22 2 views
0

SQL Server 2008 저장 프로 시저의 입력과 출력을 파악하려고합니다.SMO 저장 프로 시저 검색

SMO를 사용하여 데이터베이스 인스턴스에 연결하면 모든 데이터베이스와 각 데이터베이스 저장 프로 시저를 가져옵니다.

현재 StoredProcedure 개체를 가져 와서 입력 매개 변수를 가져올 수 있지만 결과를 찾는 데 문제가 있습니다.

나는 ExecuteWithResults을 사용하여 내 저장 프로 시저를 실행하여 전달할 수 있음을 알고 있지만 어떻게 결과를 얻을 수 있습니까?

또한 매개 변수를 어떻게 전달합니까? exec 명령을 작성하여 전달합니까?

편집 : SET FMTONLY ON을 사용해야한다는 것을 알았지 만, 정확히 ExecuteWithResults로 전달할 수 있습니까?

답변

0

알아 냈어. StringCollection을 사용하여 문자열 컬렉션을 작성하십시오. 실제 데이터에 영향을 미치지 않도록 추가 ("SET FMTONLY ON")하십시오. 저장 프로 시저 Parameters 컬렉션의 모든 매개 변수로 exec 명령을 작성한 다음 해당 컬렉션에서 executeWithResults를 작성하십시오. 그러면 DataSet []이 반환됩니다. StringCollection에 exec 명령을 추가 한 데이터 세트 배열에서 동일한 인덱스를 가져옵니다. 여기에서 모든 열 이름과 해당 데이터 유형을 포함하는 결과 테이블 세트와 그 열을 가져올 수 있습니다.