2009-06-11 5 views
1

사용자가 데이터웨어 하우스 (DW)에 테이블을 채우는 데 사용할 수 있도록 XLS 스프레드 시트를 업로드 할 수있는 최상의 솔루션을 찾고 있습니다.Excel 데이터베이스 테이블에 업로드

사용자는 BO (Business Objects) 사용자가 많으며 BO를 사용하면 XLS로 내보낼 수 있습니다. DW에로드해야하는 스프레드 시트에 데이터가있는 경우 XLS의 데이터를 DW의 db로 업로드하는 프로세스가 필요합니다. 결과적으로 우리가 정말로 필요한 것은 프로그래밍 방식의 자동화 된 피드라고 생각할 때 이러한 "인터페이스"로 끝납니다. 내 시스템 피드에 대한 데이터 소스로 Excel을 사용하면 내 생각에 나에게 나쁜 생각처럼 보입니다.

질문 # 1 : 동의하는지, 왜 또는 왜 안되는지 확인하고 싶습니다.

OK, 그 조수에 대한 수영은 없으므로 이제는 XLS 업로드가 여기에 있습니다. 이제 가장 좋은 솔루션을 찾아야합니다. 먼저 우리가 지금하고있는 일과 내가 싫어하는 것에 대해 설명하겠습니다.

웹 페이지를 통해 정의 된 열 세트가있는 빈 XLS 파일 (행 없음)을 제공합니다. 각 파일은 다른 대상 dest 테이블을 갱신하는 데 사용됩니다. 각 스프레드 시트에는 '업로드'버튼이 있습니다. 업로드 단추를 누르면 스프레드 시트의 매크로가 파일 내용을 CSV로 직렬화하고 서버 폴더로 FTP 전송합니다. 주기적으로 스케줄러는 CSV 파일을 입력으로 사용하는 Informatica ETL 작업을 시작하고 사용자 지정 XLS 관련 스테이징 테이블에 데이터를로드 한 다음 레코드가 편집 내용을 적절한 대상 테이블로 전달합니다. 발생한 모든 오류는 오류 테이블에 기록됩니다. 업로드 된 각 XLS 파일에 대해 데이터는 해당 파일에 대한 별도의 준비 및 오류 테이블로 끝납니다. 내가 싫어하는 것들 중 일부는 우리의 과정에 대해 포함

은 다음과 같습니다

1) 너무 노출되는 XLS의 매크로 코드, 예를 들어 암호를 포함, 변조 할 수 있도록 문제가 있습니다 그 사용자가 최신 XLS 템플릿을 사용하고 있습니다. 2) 비즈니스 규칙 편집은 ETL 프로그램에 배치됩니다. ETL 프로그램은 가능한 위치에 있어야하지만 가능한 빨리 오류를 잡으려고합니다. 즉, 스프레드 시트에서 편집 내용도 매크로 코드에 추가됩니다. 이로 인해 비즈니스 편집이 중복됩니다. 이 규칙들을 한 곳에서 원하고 중앙에서 통제하고 싶습니다. IMHO, XLS에 매크로 코드를 넣으면 유지 관리 문제가 발생하고 저장 프로 시저 (일부는 보유하고있는 것)를 호출하거나 웹 서비스를 호출합니다 (아직 XLS 매크로에서 .NET 웹 서비스를 호출하지 않았습니다).) 3) 모든 XLS 파일 업로드 템플릿에는 고유 한 스테이징 및 오류 테이블 세트가있는 프로세스가 있으며 오류를보고하기위한 사용자 정의 화면이 있습니다. 좀 더 일반화 된 재사용 가능한 솔루션이 필요한 것처럼 보입니다.

자주 데이터를 BO에서 XLS로 내보내는 것 외에도 웹 인터페이스를 통해 개별 레코드를 편집하는 것보다 많은 수의 레코드를 편집하는 것이 쉬우 며 덜 복잡하기 때문에 Excel과 같은 사용자도 Excel을 좋아합니다.

는 첫째, 나는 사용자가 편집과 엑셀의 편집의 용이성을 갖고 싶어하지만, 스프레드 시트에 포함 된 매크로를 포함하지 않고 :

이 내가 생각하고 기본 방향이다. 나는 ... 엑셀 호환성 파 포인트의 그리드와

http://www.fpoint.com/netproducts/spreadweb/tour/excel.aspx

을 실험 ... 그리고 나는 사용자가 자신의 PC에 상주하고있는 XLS 파일을 열 수있는 기능을 허용하는 것은 매우 쉬운 것을 발견 브라우저에서 열어서 서버 측 .NET 웹 코드에서 읽은 데이터에 쉽게 액세스 할 수 있습니다.Excel은 브라우저에서 로컬로 실행되지 않지만 엑셀의 기능이 복제됩니다. 아마도 클라이언트 양면 스크립팅을 통해 직접 복제 할 수 있습니다. 로컬 스프레드 시트에서 잘라내어 웹 스프레드 시트에 붙여 넣을 수도 있습니다. 가장 큰 문제는 비용입니다. 우리 회사는 사형에 가까워 새로운 소프트웨어를 구입할 수 없습니다.

다음으로 모든 스프레드 시트 업로드 처리에서 공통 구성 요소를 식별하고 일반 처리 코드를 제안하려고합니다. 예를 들어, 각 스프레드 시트와 하드 코딩 대신 대상 열의 관점에서 열 이름과 데이터 형식 정의를 포함한 각 형식을 정의하는 테이블을 상상해보십시오. 이 테이블 템플릿 정의를 기반으로이 테이블 정의에서 다운로드 할 XLS 템플릿을 생성 할 수 있습니다. 입력 된 데이터가 테이블 정의와 일치하는지 확인하기 위해 간단한 일반 편집을 수행 할 수도 있습니다. 또한 하나의 공통 웹 페이지를 사용하여 데이터를 표시하고 보고서 데이터 형식 불일치 오류를 허용하고 사용자가이를 수정할 수 있습니다. 또한 "준비"테이블에 데이터를 저장하기위한 공통 테이블을 정의합니다. 두 개의 열, 제출 #, 행 번호, 이름 및 값이있는 테이블을 사용합니다. 더 이상 "맞춤식 모든 것"이 목표는 아닙니다.

다음으로 비즈니스 규칙을 어디에 둘 것인지 결정해야합니다. 저의 부서는 Informatica ETL 배치 프로세스가 모든 데이터로드를 수행해야하므로 규칙/편집이 "Informatica"에 속한다고 확신합니다. 인포매티카 도구에 대한 경험이 없으며 .NET 사용자입니다. 따라서 이러한 규칙이 어떻게 구현되는지 확신 할 수 없지만 .NET 웹 페이지에서 특정 레코드의 유효성을 검사하는 데 사용할 수 있다는 점에서 재사용 할 수 없다고 생각됩니다. 어떤 경우 사용자가 일괄 업로드를 수행하지 않을 때 특정 레코드를 편집 할 수있는 능력이 있으며 ETL 대량 삽입 프로세스에서 적용한 것과 동일한 수정 사항을 개별 업데이트에 적용하고 싶습니다. 웹 페이지를 통해 단일 레코드로 시도하십시오. 단일 레코드의 업데이트를 수행하는 웹 페이지 또는 대량 업로드의 각 레코드에 대해 수천 번 호출 된 웹 서비스에서 호출 할 수있는 단일 웹 서비스 또는 저장 프로 시저를 작성하는 솔루션입니까? 후자는 비효율적이라고 생각합니다.

위의 사항에 대한 귀하의 생각은 대단히 환영 할 것입니다.

답변

1

비용 관점에서 볼 때 웹에서 스프레드 시트 기능을 다시 작성하려면 Farpoint 또는 다른 컨트롤의 비용을 초과해야합니다. 1 시간에 20 달러를 벌었다고해도, 2 주 안에 효과가있는 제품을 완성 할 수 있다고 생각하십니까? ETL 기능이 Excel에 존재하도록 허용하는 경우 유지 관리 문제를 논의했을 때 사실을 알고 있다고 생각합니다. 변환 규칙을 유지 관리하는 작업량이 두 배입니다. 유지 관리가 가능하고 강력한 솔루션을 만들려면 유연한 유틸리티가 필요하다는 점을 경영진에게 확신시켜야 할 필요가 있다고 생각합니다.

파 포인트는 좋은 선택입니다. Excel 매크로를 해석하고 웹 서버에서 실행할 수있는 .Net 엔진 인 SpreadsheetGear도 있습니다. 그것은 매우 Excel 인터페이스 기능을 WinForms 솔루션을 만들 수있는 Win32 컨트롤이 있습니다. 마지막으로 제품에 대한 웹 컨트롤이 없다고 확인했습니다. 대량의 데이터를 처리 할 수있는 Excel 기능을 제공하는 것은 탁월합니다.

행운을 비네. 나는 당신이 좋은 해결책을 찾을 것이라고 생각합니다. 왜냐하면 당신은 모든 다른 잠재적 인 해결책들에 대한 프로와 사기를 잘 이해하고있는 것처럼 보입니다.

+0

의견을 보내 주셔서 감사합니다. – ChadD

관련 문제