먼저 데이터베이스가 XML을 출력하고 이를 .net 시스템에서 호출하도록 하는 예제의 목적에 대해 이야기해 보겠습니다.
이 시스템의 데이터 계층은 SQL 서버 데이터베이스를 사용하며 중간 계층은 SQL과 함께 제공되는 "IIS에서 SQL XML 지원 구성" 도구를 사용하여 구현할 수 있습니다. 자, 이제 그 일을 해보겠습니다. 먼저 XML을 출력하도록 SQL을 구성합니다.
이 작업은 다소 이상하게 들릴 수도 있지만 실제로는 일반 쿼리 문 뒤에 FOR XML AUTO를 추가하는 것뿐입니다.
예를 들어보세요:
TOP 100 주제, 이름, 시간을 선택하세요.
[주문]=1인 FROM bbs ORDER BY [시간] DESC
FOR XML AUTO
문이 실행되면 출력은 더 이상 우리가 전통적으로 개념적으로 생각했던 테이블이 아니라 매우 긴 문자열로 구성된 여러 행이며 내용은 우리에게 필요한 XML 코드라는 것을 알 수 있습니다.
이런 방식으로 첫 번째 단계는 SQL에서 XML을 출력하도록 하는 것입니다.
그런 다음 웹을 사용하여 XML 파일을 호출할 수 있도록 두 번째 단계를 시작합니다.
성공적으로 디버깅한 후 파일을 생성할 수 있습니다. 예를 들어 aaa.xml
내용은 다음과 같습니다.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<SQL:쿼리>
TOP 100 주제, 이름, 시간 선택
[주문]=1인 FROM bbs ORDER BY [시간] DESC
XML 자동의 경우
</sql:쿼리>
</ROOT>
c:에 bbb 디렉토리를 생성하고 그 안에 넣습니다.
중간 부분은 전통적인 SQL 문이고, 전면 및 후면 캡슐화는 일반적인 형식입니다.
이 파일을 임의의 디렉터리에 넣은 다음 SQL의 "IIS에서 SQL XML 지원 구성"을 열고 XML 지원이 필요한 사이트에 가상 디렉터리를 생성합니다. 로컬 경로는 당연히 c:bbb입니다.
그런 다음 보안을 클릭하고 SQL 사용자 이름과 비밀번호를 입력한 다음 데이터베이스 위치이자 기본 데이터베이스인 데이터 소스를 입력합니다.
그런 다음 설정을 클릭하고 템플릿 쿼리 허용을 선택한 다음 가상 이름을 클릭하고 새 유형을 클릭한 후 템플릿 이름으로 지정합니다.
ddd, 해당 파일은 aaa.xml입니다.
그런 다음 IE에서 엽니다: http://컴퓨터 이름/ccc/ddd
무엇을 보셨나요? 예, 이는 SQL 쿼리 중 xml 파일에서 출력되는 콘텐츠입니다.
출력되지 않는 것은 무엇입니까? "인터넷 정보 서비스(IIS) 관리자"를 열고 "웹 확장 서비스"를 선택합니다.
그런 다음 "알 수 없는 모든 ISAP 확장"을 선택하여 허용하십시오. 이제 괜찮아요?
자, 이제 가장 중요한 단계인 3단계, 즉 VS.net에서 동적으로 생성된 XML 파일을 호출하는 방법이 나옵니다.
먼저 구조화되지 않은 빈 데이터세트1을 생성한 다음 소스 코드에서 this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
Add this.dataSet1.ReadXml("http://your machine name/ccc/ddd");
축하합니다. 이제 동적으로 생성된 이 XML 파일을 읽기 전용 데이터세트로 사용할 수 있습니다.