4 개의 다른 텍스트 파일을 각 파일마다 다른 이름과 다른 열을 하나의 폴더에 넣습니다. 이 4 개의 파일을 4 개의 다른 기존 테이블에 삽입하거나 업데이트하려고합니다. 따라서이 4 개의 파일을 읽는 방법을 동적으로 읽고 SSIS의 해당 테이블에 동적으로 삽입하십시오.여러 개의 텍스트 파일 삽입
답변
글쎄, 당신은 테이블 대상 (아마도 OLEDB 대상)에 플랫 파일 원본에서 데이터를 이동하는 데이터 흐름 작업를 사용해야합니다. 파일의 열이 어떤 식 으로든 구분됩니까? 예를 들어, 다음 중 하나를 사용합니다. (;), (|) 또는 이와 비슷한 내용이 있습니까? 그럴 경우 FlatFileConnectionManager을 만들고 열을 분할하도록 설정할 수 있습니다. 그렇지 않은 경우 FixedWidth 옵션을 사용하여 열을 구분해야 할 수도 있습니다. OLEDB 대상을 사용하려면 OLEDB 연결 관리자을 만들어 데이터베이스의 테이블을 가리켜 야합니다. 데이터를 읽으려는 파일에 대한 정보가 더 있으면 더 많이 도울 수 있습니다.
EDIT 그럼 당신은 당신이 aswell 4 개 OLEDB 대상 (각 플랫 파일에 대한 각각의 1) 4 플랫 대상 sourcers을 만들 수 있도록, 4 개 파일과 4 개 테이블 작업 중이던 시작했다. 내가 너를 올바르게 이해했다면,이 네 가지 파일이 존재할 수도 있고 존재하지 않을 수도있다. 따라서 파일에 사용할 이름을 알고있는 경우 패키지 속성 DelayValidation을 true로 변경 한 다음 샘플 텍스트 파일로 연결을 만듭니다. 이렇게하면 파일 경로가 저장됩니다. 제 의견으로는 테이블이 존재해야합니다. 당신이 말했던 때 :
내가 폴더 안의 파일이있을 때마다 모든 다른 텍스트 파일을 각각의 기존 테이블에로드하려고합니다.
난 당신이 비슷한 일을 할 수있는 알고있는 유일한 방법은, SQL Server 에이전트 작업와 특정 시간에 패키지의 실행을 예약하는 것입니다. 이것이 당신이 찾고있는 것이라면 알려주세요.
예 텍스트 파일이 구분됩니다. 이러한 구분 된 텍스트 파일을 다른 테이블에 동시에로드 한 다음 diff 위치로 파일을 보관하려면 단일 패키지를 만들고 싶습니다. – Jason312
@ Jason312 ok then. 마찬가지로 데이터 흐름 작업을 사용해야하고 FlatFileSource를 드래그하여 connectionMannager를 시작해야한다고 말한 것처럼 OLEDB 대상과 동일하게 작업하십시오. 삽입하고자하는 4 열 중 하나와 같은 열을 가진 테이블을 만드는 것이 좋습니다. [이 튜토리얼은 매우 유용 할 것입니다.] (https://katieandemil.academy/create-ssis-package-find-an-example-how-to-create-an-ssis-package-a-simple-one) – Mokz
I ssis에 익숙하지 만 당신의 방법은 단순한 플랫 파일 입력입니다. 이 프로젝트의 목적은 프로세스를 자동화하는 것입니다. 폴더 안에 파일이있을 때마다 각기 다른 기존 테이블에 모든 텍스트 파일을로드하려고합니다. 예를 들어 A 테이블의 텍스트 파일, B 테이블의 B 텍스트 파일 등. foreachloop을 사용하려고했지만 동일한 대상으로 만 이동합니다. 동적으로 대상을 만드는 방법과 일부 레코드가 중복되어 있기 때문에 조회 기능을 사용하여 이러한 작업에 연결하는 방법은 무엇입니까? – Jason312