-1

어떻게해야합니까?MS CRM 2011 CSV 가져 오기 (프로그래밍 방식)

은 내가 CRM 2011의 온 - 프레미스 인스턴스를 실행하고 늦게 바운드 실체에 접근 사용해야하고 CRM 2011

에서 사용자 지정 엔터티에 CSV 파일을 가져 (및지도) 할 필요가있다.

이 예제를 통해 이미 시도했지만 Export and import a data map입니다.하지만 비참하게 실패했습니다 (ImportMap을 찾을 수 없음 - 어떤 어셈블리입니까?).

+0

CSV 파일 데이터를 표시 할 수 있습니까? 사용자 지정 엔티티에 CSV에있는 모든 필드가 있습니까? –

+0

@Dot_NETPro 100 000+와 같이 3 개의 열과 많은 행이 있습니다. 그 문자열을 문자열로 사용해야하므로 문제가되지 않습니다. 또한 헤더 행이 없습니다. –

답변

0

안녕하세요, 미리 바인딩 된 클래스를 만들지 않고 아래 programatically과 같은 것을 할 수 있습니다.

using (StreamReader reader = new StreamReader("D://yourfileFolder//file.txt")) 
    { 
     string line; 
     while ((line = reader.ReadLine()) != null && line!=String.Empty) 
     { 
     var values = line.Split(','); //your data separator, it could be any character 

     Entity customEntity = new Entity("entityLogicalName"); 

     //you should adjust the values according to the data-type on Dynamics CRM e.g 
     // customEntity ["revenue"] = new Money(values[0].ToString()); 


     customEntity ["field1"] = values[0]; 
     customEntity ["field2"] = values[1]; 
     customEntity ["field3"] = values[2]; 
     orgService.Create(customEntity); 
     } 
    } 
0

ImportMap은 SDK 어셈블리의 클래스가 아닌 CRM의 엔터티입니다. 이 예제 코드를 컴파일하려면 먼저 CRM 프로그래밍의 초기 바인딩 모델 인 ImportMap 엔터티를 나타내는 클래스가 있어야합니다.

ImportMap 클래스는 SDK의 MyOrganizationCrmSdkTypes.cs 파일에서 찾을 수 있습니다. 이 파일을 프로젝트에 추가하면 모든 기본 제공 엔터티에 대한 초기 바인딩 클래스가 제공됩니다. 또는 CrmSvcUtil (SDK에 포함) 또는 타사 도구 (예 : Daryl Labar's 또는 XrmToolkit)를 사용하여 ImportMap 초기 바인딩 클래스 만 생성 할 수 있습니다.