2009-07-15 6 views
1

SAS에서 Teradata로 테이블을로드 할 때 SAS는 데이터를로드하고 (대개 FASTLOAD 기능을 사용하여) 스크립트를 계속 실행합니다. 그러나 SAS는 데이터가로드되지만 테라 데이타는 여전히 테이블 내에 데이터를 어셈블하고 있기 때문에 종종 심각한 오류가 발생합니다.SAS에서 Teradata로 데이터로드 - 언제 시작할 수 있습니까?

데이터가 데이터베이스에 있지만 사용할 준비가되지 않았습니다. 데이터가 다른 테이블과 함께 처리 할 준비가되었는지 알 수있는 방법을 아직 찾지 못했습니다. 나는 수면 명령을 사용하는 데 성공했지만, 그것은 자의적이고 신뢰할 수 없다. (누가 얼마나 오랫동안 걸릴지 알고 있기 때문에).

이 문제를 어떻게 해결하겠습니까?

+0

/이렇게 데이터베이스에 액세스하기 전에 다른 것들. –

답변

0

내가 시도 할 다음

  1. 1. 도움이되지 않는 경우 DBCOMMIT= 데이터 세트 사용 옵션이 테이블 인 경우 쿼리 할 수 ​​OPEN 기능을 통해 루프를 사용,
  2. 를 도울 수 있다면 테스트 준비, 다음과 같이 : 나는베이스와 비슷한 문제가 있었 기다리는 것보다 다른 해결책을 발견하지 않은

    data _null_; 
        dsid=0; 
        do i=1 to 3600 while(dsid<=0); 
        ts=SLEEP(1,1); 
        dsid=OPEN('TERADATA.MYTABLE','I'); 
        end; 
        if dsid then dsid=CLOSE(dsid); 
    run; 
    
0

수면을 취해서 쿼리를 시도하고 오류가 발생하여 준비 될 때까지 반복 할 수 있습니까?

+0

문제는 쿼리가 오류가 아닙니다. 그래서 나는 반복 할 조건이 없다. – AFHood

0

Refining Jon의 대답을 처리 할 때 처리가 종료되었는지 여부를 쿼리 할 수 ​​있습니다.

저는 Teradata에 익숙하지 않지만, 능동적 인 프로세스를 나열하는 시스템 테이블이 있어야합니다. 현재의 프로세스를 얻기 위해 SQL 통과를 사용할 수도 있습니다.

관련 문제