2009-06-03 3 views
1

XML 파일에 관계형 데이터 (텍스트, 숫자 및 그림)를 저장해야합니다. 나는 데이터와 테이블 구조 사이의 관계를 유지하고 싶다.XML로 관계형 데이터베이스 저장

어떻게해야합니까?

내 Windows Mobile 응용 프로그램은 Windows Communication Foundation (WCF)을 사용하여 데이터를 가져옵니다. 일단 데이터를 얻으면 XML 파일에 저장합니다.

WCF는 ADO.NET Entity Framework를 사용하여 데이터를 검색합니다.

것은 내가 응용 프로그램에 그것을 보여주기 위해 사용됩니다 SQL 서버를 2008

데이터를 사용하는거야. 느린 때문에 SQL Server CE를 사용하여 데이터를 저장하고 싶지 않습니다. XML 파일을 사용하는 대신 문자와 숫자를 저장하는 텍스트 일반 파일과 이미지를 저장하는 이미지 파일을 사용할 수 있습니다.

요약하면 XML은 SQL Server CE 또는 WCF를 사용하여 데이터를 저장하는 방법입니다.

감사합니다.

+0

더 명확해야합니다. 서비스에서 또는 서비스를 호출하는 응용 프로그램에서 XML로 변환하려는 위치는 어디입니까? Entity Framework 또는 서비스를 호출하는 응용 프로그램을 사용하는 서비스입니까? 일단 XML로 변환되면 데이터로 무엇을 할 것입니까? –

+0

자세한 내용을 기재했습니다. – VansFannel

답변

1

고맙습니다.

제 제안은 SQL Server CE입니다. 당신이하고있는 일에 실제로는 더 느리지 않을 수도 있습니다. 휠을 재발 명하지 않는 시간을 절약하면 응용 프로그램의 다른 부분을 빠르게 처리하는 데 더 효과적 일 수 있습니다.

오래 동안 데이터를 저장하지 않아도된다고 가정하지 않으면 웹 서비스 리턴 유형의 데이터를 DataSet으로 복사하는 것이 좋습니다.DataSet 형식에는 데이터를 저장할 수있는 WriteXml 메서드와이를 다시 읽을 수있는 ReadXml 메서드가 있습니다.

+0

그래, SQL Server CE를 사용할 것입니다. 고맙습니다! – VansFannel

0

어떤 SQL Server를 사용하고 있습니까? 일부 서버에서는 쿼리에 대한 XML 응답을 요청할 수 있습니다. 그렇게하면 많은 일을 줄일 수 있습니다.

편집 : MSSQL 2008을 사용할 것으로 지정 했으므로 운이 좋을 수 있습니다. MSSQL 2005 및 이후 버전에서는 결과를 XML로 가져올 수있는 "FOR XML"키워드가 있습니다. 시도 해봐.

+0

SQL Server 2008을 사용할 것입니다. – VansFannel

0

"데이터와 테이블 구조 간의 관계 유지"란 무엇을 의미합니까? XML 노드의 속성에 소스 데이터베이스 레코드의 ID를 유지하는 것 이상을 이야기하고 있습니까? XML 데이터를 가지고 나면 XML 데이터로 무엇을해야합니까? 편집하고 데이터베이스에 다시 적용해야합니까?

저의 답변보다 더 많은 질문 .... 죄송합니다.

1

어떨까요? 테이블 및 관계를 정의하고 데이터를 데이터 세트로로드 한 다음 XML (WriteXml 메서드)로 저장하십시오.

1

XML 형식을 XSD로 정의하십시오. Visual Studio를 사용하는 경우 새 DataSet을 사용하고 "사용자 지정 도구"는 DataSet을 기반으로 강력한 형식의 클래스 집합을 자동으로 만듭니다. 제약 조건이있는 테이블과 관계를 정의 할 수 있습니다. Visual Studio에서 쉽게 할 수 있습니다. Visual Studio를 반대로 사용하는 경우 XSD를 직접 만들고 xsd.exe를 사용하여 코드를 생성 할 수 있습니다.

강력한 형식의 데이터 집합을 데이터로 채우면 WriteXml을 호출하여 데이터를 XML 스트림으로 serialize 할 수 있습니다.

관련 문제