2011-08-30 3 views
4

외부 데이터 형식 열에 고유 값 적용 -이 기능은 기본적으로 사용할 수 없다는 것을 알고 있습니다. 중복에 대한 외부 데이터 형식 열의 유효성을 검사하는 데 필요한 것은 무엇입니까? 워크 플로우? 다른 사람?셰어 포인트의 외부 데이터 형식 열에 고유 값 적용

+0

외부 데이터 형식을 통해 SQL 서버에서 온다. 사용자는 일부 키를 전달하는 공유 목록에 항목을 추가 할 수 있습니다. 이 키는 외부 데이터 열의 다른 필드로 연결됩니다. 셰어 포인트는 키가 중복 된 요소를 허용해서는 안됩니다. – marcinn

답변

0

글쎄, 외부 목록에는 데이터의 유효성을 검사 할 수있는 워크 플로 나 이벤트 수신기가 없어서 SharePoint에서이 작업을 수행하는 것은 실제로 매우 복잡합니다. 내 생각에 SP로 가져 오기 전에 데이터의 유효성을 검사해야합니다. 데이터 소스가 DB 인 경우 제한 조건을 추가하고, 웹 서비스 인 경우 외부 시스템에서 고유성을 적용해야합니다. 사용자 정의 외부 콘텐츠 유형 인 경우 코드를 통해 적용 할 수 있습니다.

+0

간단한 맞춤 목록이 있습니다. 이 목록에는 숫자가있는 외부 열이 있습니다 (키입니다). 내 외부 데이터 소스 - SQL 서버에 기본 키가있는 테이블이 있습니다. 이 기본 키는 사용자 지정 목록 항목을 외부의 일부 데이터와 연결하는 데 사용됩니다. – marcinn

0

MS 설명서에서 언급하지는 않지만 PowerShell을 사용하여 '외부 데이터'유형 열에 고유성을 적용 할 수 있습니다. 방금 아래 예제를 시도했으며 SP2013 Farm에서 작동합니다.

https://msdn.microsoft.com/en-us/library/office/ee536168%28v=office.14%29.aspx?f=255&MSPPError=-2147217396

예 사무실에서 DEV 센터

SPSite site = new SPSite("http://localhost"); 
SPWeb web = site.OpenWeb(); 

SPList custList = web.Lists["Customers"]; 
SPField custPhone = custList.Fields["Phone Number"]; 

custPhone.Indexed = true; 
custPhone.EnforceUniqueValues = true; 

/// You must call the Update() method 
/// when you change the EnforceUniqueValues property 
custPhone.Update();