문제

꽤 직접적인 경로가 있습니까? (즉, SQL Server가 XML을 읽을 수 있습니다)

아니면 XML을 구문 분석하고 Ado.net을 통해 개별 행이나 배치 업데이트를 통해 일반적인 방식으로 전송하는 것이 가장 좋습니까?

나는 큰 복잡한 저장된 Procs와 관련된 솔루션이있을 수 있다는 것을 알고 있습니다. 나는 이것에 완전히 반대하지는 않지만 C# 코드에 대부분의 비즈니스 논리를 갖는 것을 선호하는 경향이 있습니다. SQLXMLBULKLOAD를 사용하여 솔루션을 보았지만 상당히 복잡한 SQL 코드가 필요한 것 같습니다.

참고로, 각 (문자열 및 int)에 대해 약 50 개의 작은 데이터로 한 번에 약 100 행으로 작업 할 것입니다. 이것은 결국 매일 매일 배치 작업이 될 것입니다.

제공 할 수있는 코드 스 니펫은 대단히 감사합니다.

도움이 되었습니까?

해결책

SQL Server 2005 이상에는 "XML"이라는 데이터 유형이있어 XML을 XSD 스키마로 유형하거나 입력 할 수 있습니다.

기본적으로 XML 리터럴 스트링에서 유형 XML 열을 채울 수 있으므로 일반 삽입 문을 쉽게 사용하고 해당 필드에 XML 컨텐츠를 채울 수 있습니다.

마크

다른 팁

OpenXML 및 저장 프로 시저 SP_XML_PREPAREDOCUMUTE 기능을 사용하여 XML을 로우 세트로 쉽게 변환 할 수 있습니다.

SQL Server 2008 (또는 2005)을 사용하는 경우 xml 기본 데이터 유형. XSD 스키마를 연관시킬 수 있습니다 xml 변수 및 유형 열에 직접 삽입하십시오 xml.

예, SQL Server 2005 이상은 상자에서 XML을 구문 분석 할 수 있습니다.

노드, 값 및 쿼리 메소드를 사용하여 값 또는 속성이든 원하는 방식을 세분화합니다.

일부 뻔뻔한 막힘 :

XML 데이터와 XML 문서는 다른 의미를 가질 수 있습니다. XML 유형이 데이터에 적합하면 형식 (흰색 공간이 제거됨)을 저장하지 않으므로 경우에 따라 (예 : Cofiguration 파일) 가장 좋은 옵션은 NVarchar입니다.

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