문제

SSIS의 플랫 파일에서 문자를 제거하는 가장 좋은 방법은 무엇입니까? 제 경우에는 처리하기 전에 파일에서 모든 따옴표를 제거해야합니다.

편집하다:
SSIS의 일부 파일에 대해 실행 파일을 어떻게 실행할 수 있습니까? 어떻게 든 소스 연결을 입력으로 사용할 수 있습니까? 아니면 파일 이름을 매개 변수로 전달해야합니까?

도움이 되었습니까?

해결책

이를 수행하는 가장 쉬운 방법은 "변환"스크립트 구성 요소를 만들고 코드를 사용하여 따옴표를 제거하는 것입니다.

다른 팁

나는 사용했다 Derived Column Transformation

eg ', "," ", #에서 SSIS에서 파생 된 열을 사용하고 싶다면 글을 쓸 것입니다.

Replace(Replace(REPLACE(name,"$"," "), "'", " ")," ","")

그러나 나는 1 또는 2 열을 필터링해야한다면이 접근법이 양호하다고 생각합니다. 더 관련이 있다면 계속 진행하십시오 Script task

파일의 모든 필드에 대해해야 할 일이므로 변환 워크 플로우의 작업이 아닌 프로세스의 첫 단계로 수행하는 것이 좋습니다.

자신의 .NET 스크립트를 코딩하고 스크립트 작업에 포함시킬 수 있습니다. 실행 프로세스 작업을 통해 타사 도구 또는 구성 요소를 호출 할 수도 있습니다.

예를 들어 Cygwin Unix 명령 줄에 액세스 할 수있는 경우 이와 같은 작업이 작업을 수행해야합니다.

sed s/\"//g data1.txt

언급 된 "실행 프로세스 작업"구성 요소를 통해 실행 파일을 호출 할 수 있으며 구성 요소의 속성에서 표현식을 설정하여 입력을 매개 변수화 할 수 있습니다. 이러한 표현식은 구성 파일을 통해 구성 될 수있는 입력 변수를 기반으로 할 수 있습니다. (이것은 SSIS가 이와 같은 것을 달성하기 위해 제공하는 많은 방법 중 하나 일뿐입니다)

질문을 올바르게 이해하면 텍스트 파일에있는 열 값에서 인용문을 제거하고 싶습니까? 이 경우 파생 된 열 변환을 사용합니다. 파생 된 열 이름 드롭 다운에서 "column_name"을 교체 할 수 있습니다. 그런 다음 다음 코드로 표현식 속성을 채 웁니다. Replare ( "" ", [collect_name]," ").

도움이 되었기를 바랍니다.

Unclepaul84와 Ryan Fonnetts의 솔루션은 모두 작동하지만 개인적으로 나는 Unclepaul 's를 향해 더 많이 갈수록 더 많은 파일을 제거해야한다는 것을 알았 기 때문에 모든 파일에 동일한 변환 코드를 사용할 수 있다는 것을 알았습니다 (좋은).

이들은 솔루션이지만 Flat File Connection Manager에 바로 내장 기능이 더 쉬운 것으로 생각합니다.

Ver의 첫 번째 탭 인 General에서는 텍스트 Qualifier라는 형식 Sectin 아래에서 첫 번째 텍스트 상자를 찾을 수 있습니다. 여기에서 하나의 이중 인용문 (또는 모든 열이 단일 따옴표로 래핑되는 경우 단일 견적)를 입력하고 미리보기를 클릭하십시오.

이것은 당신의 문제를 해결해야합니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top