내 SSIS 패키지에서 특정 Oracle보기에 데이터가 있는지보고 싶습니다. 내가 가지고 선별 카운트 문을 SQL 작업을 실행Oracle보기에서 SSIS의 테이블 수 얻기
Select CAST(count(*) as Integer) As Row_Count from OWNER.VIEW_MV
내의 RowCount 내 변수 사용자를 가리키는 결과 집합에 있습니다 TableCount. 내가 그 객체를 읽을 때 데이터 유형 내 다음 단계, 스크립트 작업에서 다음 개체 수 있도록 할 경우,
Error: 0xC002F309 at Check for data in view, Execute SQL Task: An error occurred while assigning a value to variable "TableCount": "The type of the value being assigned to variable "User::TableCount" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.
그러나 : 나는 객체를 제외하고 아무것도 TableCount을 설정하면, I는 다음과 같은 오류가 발생합니다 , 그것을 사용하고 볼 수 있도록 정수로 변환하는 방법을 볼 수 없습니다.
Dim nTableCount As Int32
nTableCount = CInt(Dts.Variables("TableCount").Value)
은 아마도 나는이 문제에 대해 갈거야 코드로
Conversion from type 'Object' to type 'Integer' is not valid.
: 그럼 난 오류가 발생합니다. 오라클 테이블이 비어 있는지 확인한 다음 해당 지식을 활용하는 가장 좋은 방법은 무엇입니까? 본질적으로 우리는 빈 테이블에 대한 에러 메시지를 원합니다.
업데이트 : OWNER.VIEW_MV에서 ROW_COUNT으로 (문자로 (계산 *)) 내가 해봤 선택 CAST 어디 ROWNUM < 2, char 형의 SSIS 변수에 보내기. 저는 Int32, Int64의 SSIS 변수를 사용하여 Numeric and Integer로 캐스팅했습니다. SSIS 유형 문자열로 varchar2 (20)을 시도했습니다. SSIS 데이터 유형 Object를 제외하고 모두 오류가 발생합니다.
지금은 데이터 유형 Object로 저장하고 있지만 값을 가져 오려고하면 내 nTableCount를 String으로 설정하면 nTableCount = Dts.Variables ("TableCount"). Value()를 사용할 수 있습니다.),하지만 0을 반환합니다. 어떻게 그 문자열을 Object 변수에서 추출합니까? (물론 가정 할 때 실제로 거기에 넣었을 것입니다.)