2012-02-15 4 views
1

내 소스가 dat 파일입니다. 디자이너에서 처음에는 로컬에서 파일을 가져올 수 있습니다. 하지만 나중에 공유 위치에 올 수 있으며 Informatica는 그 위치에서 선택해야합니다. 나는 이것을 위해, 워크 플로우 관리자에서 매개 변수 값 'Source file Directory'= '$ PMSourceFileDir \'을 세션 레벨에 넣어야한다고 생각합니다. 이제이 Parameter 파일의 위치는 어디입니까? 매개 변수 값을 입력 할 수 있도록 편집하려면 어떻게해야합니까? Informatica가 로컬에 설치되어 있지만 원격 저장소에 연결 중입니다. 인포매티카가 원격 위치에서이 dat 파일을 선택할 수 있도록 다른 방법이 있습니까? 도와주세요.인포매티카 문제 - 매개 변수 파일

답변

3

$ PMSourceFileDir은 보통 서버 변수이기 때문에 Informatica 서버 초기화의 일부로 설정됩니다. 워크 플로에 맞게 재정의하려면 매개 변수 파일에서 수행 할 수 있습니다.

워크 플로 모니터에서 워크 플로 디자이너 탭으로 이동하여 워크 플로를 엽니 다. Workflow > Edit > Properties > Parameter file Name.

0

이동 난 당신이 매개 변수 파일이 필요합니다 생각하지 않습니다. 매개 변수 파일은 파일의 내용에 따라 Informatica의 동작을 변경하는 데 사용되므로 Informatica 코드를 편집하는 대신 파일을 편집하여 동작을 변경할 수 있습니다.

인포매티카가 소스 파일을 읽을 때 항상 원본 파일을 읽으므로 $ PMSourceFileDir 값을 변경하거나 '소스 파일 디렉토리'의 값을 변경하면 로컬 컴퓨터에서 파일을 찾을 위치 만 변경됩니다.

몇 가지 옵션이 있습니다. * 먼저 Informatica 호스트에 파일을 복사하십시오. * S/FTP 연결을 사용하여 FTP 서버 또는 SSH를 실행중인 위치에 파일이있는 위치에서 파일을 읽습니다. * NFS 마운트 또는 SSHFS를 사용하십시오. 또한 아래의 매개 변수 파일을 배치 할 수 있습니다

0

,

마우스 오른쪽 단추로 클릭 세션> 편집> 속성> 매개 변수 파일 이름

이 워크 플로우 등록 정보에 지정된 매개 변수 파일의 위치를 ​​우선합니다.

생각 '소스 파일 디렉토리'당신이 포스트 세션 스크립트를 만들 필요가 일부 원격 서버에서 대상을 생성하고자하는 경우 만, 로컬 서버에 퐁로 할 수있는 것입니다 SCP/대한 ssh 워크 플로가 성공적으로 실행 된 후 로컬 서버에서 원격 서버로 파일을 가져옵니다.

1

워크 플로가 현재 워크 플로로로드 된 워크 플로 디자이너에서 워크 플로 ... 편집 ... 속성 탭을 선택한 다음 속성 '매개 변수 파일 이름'의 값을 확인합니다. 워크 플로에서 사용중인 매개 변수 파일의 위치와 이름을 보여줍니다. 이 파일에서 PM * 변수의 해석 가능한 값을 변경할 수 있습니다. 각 Session에 대해 소스 파일과 같은 것에 대해 서로 다른 PM * 값을 지정할 수 있지만 많은 기업이 각 워크 플로의 소스 및 대상 디렉토리에 고유 한 소스 및 대상 디렉토리를 갖는 계층 구조 표준을 따르는 것을 명심하십시오. 개발자가 세션에서 이러한 설정을 수행 할 때 종종 $ PMSourceFileDir/{workflow_specific_folder_name}과 같은 형식을 따릅니다. 그 기준을 따르십시오. 그렇지 못하거나 불가능할 경우, 그만 두지 마십시오. 소스 파일 디렉토리를 나타낼 때 해당 세션에 대해 다른 $ {var_name}을 사용하십시오. .parm 파일은 이러한 변경 사항을 워크 플로 자체에 하드 코딩하지 않으려는 경우이 작업을 수행 할 수있는 곳입니다. a의 예제 항목.PM * 값을 변경하는 parm 파일 :

---TOP OF FILE--- 
[Service:{Name}] 
$PMSessionLogDir=/{path}/SessLogs/ 
$PMBadFileDir=/{path}/BadFiles/ 
$PMWorkflowLogDir=/{path}/WorkflowLogs/ 
$PMTargetFileDir=/{path}/TgtFiles/ 
$PMSourceFileDir=/{path}/SrcFiles/ 
# Above are just example names of directories 
... 
# Example of specific session that has variables set for it herein 
[~{Project_folder_name}.WF:{Workflow_name}:{session_name}] 
$$Repository_Name={repo_name} 
$$Folder_Name={Project_folder_name} 
$$Workflow_Name={wkf_name} 
$DBConnection_Reusable_Comp_source={source_name} 
$DBConnection_Repo={Repo_conn_name} 
$$DBConnection_Reusable_Comp_source={Comp_source_name} 
$$DBConnection_Repo={Conn_repo} 
$PMSessionLogFile={Log_file_name} 
$PMSourceFileDir_{session_name}={custom_source_file_dir} 

... {etc.} ... 

--- BOTTOM OF FILE --- 

마지막 항목을 제외한 모든 항목은 회사 표준 유형의 항목입니다. 귀하의 기업은 거기에 여러 가지 일을 할 수 있습니다. 그러나 마지막 항목은 $ PM * 값을 지정하는 예제입니다. 이 경우, $ PMSourceFileDir_ {session_name} 여기서 {session_name}은 사용자 정의 된 소스 폴더를 원하는 세션의 이름입니다. 워크 플로우에서 문제의 세션에서, 당신은 표시 줄 :

$PMSourceFileDir_{session_name} 

세션의 실제 이름으로 {session_name} 교체. 그런 다음 원본 디렉터리 속성에서 해당 변수를 사용하면 .parm 파일에 지정한 사용자 지정 디렉터리 위치로 확인됩니다.