2014-04-10 3 views
-1

상황은 : 마이크로 소프트의 CLR User-Defined Types 페이지 중 하나에SQLServer 사용자 정의 형식에 사전을 저장하는 방법은 무엇입니까?

을 SQLServer2012, 그것은 당신이 사용자 정의 유형 (UDT)를 사용할 수 있습니다 스칼라 유형 시스템을 확장하기 위해 SQL 서버 2005부터

(일부)라고 SQL Server 데이터베이스에서 CLR 개체의 저장을 가능하게합니다.

사전을 UDT로 변환 할 수 있습니까? 그렇다면 어떻게? 그렇지 않다면 왜 안 되겠습니까?

내가 System.Core에 문제로 실행하지 않는 가정하고 모든 것을, 나는 아마도 내가 JSON 파싱이 같은 JavaScriptSerializer 유용한 일을 할 수 있다는 것을 바라고 있어요 : 나는 Damien_The_Unbeliever에 동의

JavaScriptSerializer ser = new JavaScriptSerializer(); 
return ser.Deserialize<Dictionary<string, object>>("{'some':['deeply',{'nested':'json record'}]}); 
+2

만약 내가 이것에 대해서 생각해 본다면, 키와 값을 두 개의 열 (그리고 여러 개의 "사전"이 필요한 경우에는 다른 열)에 저장하는 것에 대해서 생각하지 않는 아주 좋은 이유가 필요합니다. 당신은 그 길을 선택하지 않는 강한 이유가 있습니까? –

+0

저는 이번 주에 JSON-in-SQLServer 성벽을 등반했습니다. 지금은 거의 모든 것을 시도 할 준비가되어 있습니다. 내가 할 준비가 안 된 것은 System.Core를 '사용 가능'하게 만드는 것입니다. – bugmagnet

+0

아, JSON은 Google 애널리틱스에서 읽으려는 의도입니다. – bugmagnet

답변

1

. 간단하고 직설적이며 아마도 가장 좋은 방법은 2 열 테이블, 키 및 값입니다.

그러나 또 다른 옵션이 있는데, XML 열을 사용하고 거기에 직렬화 된 사전을 저장하는 것입니다. 즉, SQL을 사용하여 데이터를 변경하거나 변경하려는 경우 DML 문은 간단한 2 열 테이블 접근 방식과 비교하여 매우 복잡하고 비효율적입니다.

관련 문제