2012-04-04 3 views
0

그냥 달성하기 위해 가장 좋은 방법은 무엇인지 궁금 : SQL 서버에서 실행 네티에 저장하는 거대한 사실 테이블과 몇 가지 계산을 할 필요가SQL 서버 통과 테이블 네티

우리가 저장 한 절차.

흐름 :

    SQL Server에서 임시 테이블이이 네티로 전송됩니다
  1. 계산이
  2. 네티하기로한다 팩트 테이블과 조인 할을 생성합니다
  3. 저장 프로 시저 결과는 SQL Server로 다시 전달됩니다.

Netezza에 SQL Server에서 임시 테이블?

감사

답변

1

내가와 네티에서 데이터를 얻을 알고있는 유일한 방법은 플랫 파일을 통해, 또는 직접 네티 작업 및 memerory에서 레코드를 누른 Netezza를 쓰기 위해 ODBC 드라이버를 사용하여 odbc 연결을 통해 ...

Windows 또는 Unix에 관계없이 Netezza는 Netezza에 연결할 때 사용할 수있는 클라이언트 도구와 함께 제공됩니다. Fyi, 인터넷에서 찾지 마라. Netezza에서 직접 또는 관계를 관리하는 사람으로부터 직접 가져와야합니다.

SSIS에서 ODBC 드라이브를 사용하여 작업을 수행하는 방법을 알아 보려는 것이 좋습니다. 저는 SSIS에서 프로가 아니므로 어떻게해야 하는지를 알 수는 없지만 먼저 살펴 보겠습니다.

작업을 수행해야한다면 다음 작업을 수행하기 위해 C#으로 무언가를 쓸 것입니다.

  • 는 SQL 서버 네티에
  • 연결 플랫 파일에 대한 링크 외부 테이블을 만들기에서 플랫 파일을 만듭니다.
  • Netezza에서 프로 시저를 호출하여 작업을 수행하고 임시 테이블에 내보낼 데이터를 생성하십시오.
  • 새 데이터를 플랫 파일로 내 보낸 다음 다시 SQL Server로 가져옵니다.

이제는 생각해 보았지만 다음을 시도해 볼 수도 있습니다.하지만 테스트되지는 않았습니다. 같은 플랫 파일을 사용하는 Netezza의 외부 테이블과 SQL Server에 연결된 테이블을 만들 수 있는지 궁금합니다. 파일 잠금을 해제하면 가능한 경우 SQL Server에서 netezza에 준 링크를 만들 수 있습니다.

netezza의 외부 테이블에 대해 자세히 알려면. 당신은 C#을 통해 Netezza를 연결하는 방법을 아래에 아주 좋은 링크가 코딩 측면에 관심이 있다면, 또한

Netezza User Guide

5 장에있는 문서 네티 사용 설명서에 봐.

Stack Post

나는 네티에 대해 명령을 실행하기 위해 아래의 방법을 구축 해당 게시물의 일부를 사용하여 끝났다.

OdbcDataReader GetReaderForCommand(string strCmd, string dbname) 
{ 

    var conn = new OdbcConnection(); 
    conn.ConnectionString = "Driver={NetezzaSQL};servername=<servername>;port=5480;database="+dbname+"; username=<username>;password=<pwd>;"; 

    OdbcDataReader rdr = null; 


     conn.Open(); 
     System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand(strCmd, conn); 
     rdr = cmd.ExecuteReader(); 
     return rdr; 


} 

마지막으로 다음과 같은 몇 가지 링크가 있습니다.

enzeecommunity.com - 사용자 기반으로 검색하고 질문하십시오.

Netezza와 함께 사용할 무료 관리 스튜디오.

http://www.aginity.com/ProductivityTools/WorkbenchOverview.aspx -