2010-04-05 5 views
0

C#에서 하나의 변수 값을 전달하면 C#에서 .dtsx 패키지를 실행 중입니다. 그런 다음 어떻게하면 내 OLE db에 대한 .dtsx 패키지를 얻을 수 있습니까? 소스 쿼리. 여기 내 C# 코드입니다. dtsx 패키지에서 외부 변수 값을 얻는 방법

  string file = @"D:\CYNCZFuzzy\CYNCZFuzzy\Contact.dtsx"; 
      package = app.LoadPackage(file, null); 
      Variables vars = package.Variables; 
      vars["User::parentContactID"].Value = 1028203; 
      pkgResults = package.Execute(); 
      string result = pkgResults.ToString(); 

나는 여기에 내 OLE DB를 원본 쿼리에이 1,028,203 값, 나의 질의를 필요로한다.

select cr.MasterContactID as ParentContactID, 
     c.ID,C.FirstName, 
     C.MiddleName, 
     c.LastName, 
     c.ID as FieldID 
from Contact c inner join 
     ContactRelation cr on cr.SlaveContactID = c.ID 
where RelationshipID = 1 
AND  cr.MasterContactID = ? 

무엇을 써야하나요? C# 페이지에서 1028203 값을 가져 오는 것. 사전에

감사합니다 ...

답변

0

OLE DB 원본 구성 요소를 편집하십시오.
첫 번째 대화 상자에서 연결 관리자가 왼쪽으로 강조 표시되어야합니다.
오른쪽에 첫 번째 상자 (OLE DB connectionManager :)의 두 번째 상자 (데이터 액세스 모드 :)의 SQL 명령에 연결 관리자 이름이 표시되며 세 번째 상자에는 사용자의 SQL 텍스트 위의 질문에 제공된 (SQL 명령 텍스트 :).
SQL 명령 텍스트 : 상자의 오른쪽에는 네 개의 버튼이 있습니다.
이 그룹의 맨 위 버튼의 이름은 입니다 ...입니다. 이 버튼을 클릭하면 하위 대화 상자가 나타납니다. 이 대화 상자에는 레이블이 붙은 상자가 하나만 있습니다. 매핑 :
이 상자의 매개 변수 제목 아래에 Parameter0이라는 매개 변수가 있어야합니다 (이것은 쿼리의 물음표 번호와 위치에 따라 미리 채워집니다. ?는 매개 변수 0을 만들고 두 번째 물음표는 매개 변수 1을 만들고 쿼리의 n 번째 물음표는 매개 변수 (n-1)를 만듭니다.이 상자의 다른 열은 변수로 표시됩니다
아래의 텍스트 상자 드롭 다운 텍스트 상자가됨을 알 수 있습니다. 변수를 "User :: parentContactID"와 일치하는 항목을 선택하고 OK을 클릭하여 자식 대화 상자를 닫고 OK을 다시 c OLE DB 원본 편집 대화 상자를 잃게됩니다. 이렇게하면 원래 질문에서 묻는 방식으로 매개 변수가 추가됩니다.

관련 문제