32
SQLXML SQLXML 의 의의 의의 의의 의 의의 의의 의의 의 의의 의 의의 WebTime WebTime Feelanet Feelanet

SQLXML 의 세부 기능 소개 정 홍주 WebTime Feelanet

  • Upload
    foy

  • View
    66

  • Download
    0

Embed Size (px)

DESCRIPTION

SQLXML 의 세부 기능 소개 정 홍주 WebTime Feelanet. 목차. Updategram Differgram Bulk Load Using Mapping Schemas URL 을 통한 HTTP Access Optimizing SQLXML Performance. INSERT UPDATE DELETE. XML delivery data. Updategram. XML Data 를 SQL Server 로 갱신 Insert,Delete,Update 문 자동 생성. Supplier. - PowerPoint PPT Presentation

Citation preview

Page 1: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

SQLXMLSQLXML 의 세부 기능 의 세부 기능 소개 소개

정 홍주정 홍주

WebTimeWebTimeFeelanetFeelanet

Page 2: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

목차목차 UpdategramUpdategram DiffergramDiffergram Bulk LoadBulk Load Using Mapping SchemasUsing Mapping Schemas URLURL 을 통한 을 통한 HTTP HTTP AccessAccess Optimizing SQLXML PerformanceOptimizing SQLXML Performance

Page 3: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

UpdategramUpdategram

Shipping Co.

SupplierINSERTUPDATEDELETE

XML delivery data

XML DataXML Data 를 를 SQL ServerSQL Server 로 갱신 로 갱신 Insert,Delete,UpdateInsert,Delete,Update 문 자동 생성문 자동 생성

Page 4: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Updategram Updategram 구조구조 xml-updategram xml-updategram 네임스페이스네임스페이스 <sync> element <sync> element ““before” & “after” before” & “after” 데이터 데이터 imageimage<root xmlns:updg="urn:schemas-microsoft-com:xml-updategram"> <updg:sync [mapping-schema=mapping schema]> <updg:before> XML Fragment </updg:before> <updg:after> XML Fragment </updg:after> </updg:sync></root>

<root xmlns:updg="urn:schemas-microsoft-com:xml-updategram"> <updg:sync [mapping-schema=mapping schema]> <updg:before> XML Fragment </updg:before> <updg:after> XML Fragment </updg:after> </updg:sync></root>

Page 5: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

MappingMapping Updategram Updategram

Default MappingDefault Mapping XML element,attribute XML element,attribute 는 동일한 이름을 는 동일한 이름을

가진 데이터베이스의 컬럼으로 가진 데이터베이스의 컬럼으로 MappingMapping attribute-centric, element-centric, or mixedattribute-centric, element-centric, or mixed

ExplicitExplicit Mapping Mapping <sync> element <sync> element 의 의 mapping-schemamapping-schema

attribute attribute 에 지정한 부분으로 적용에 지정한 부분으로 적용 (XSD)(XSD)

Page 6: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Inserting DataInserting Data

Row InsertRow Insert afterafter 부분에 처리부분에 처리 IDENTITY Values, GUIDIDENTITY Values, GUID

<InsertProduct xmlns:updg="urn:schemas-microsoft-com:xml-

updategram"><updg:sync>

<updg:before /><updg:after>

<Products ProductID="101"/></updg:after>

</updg:sync></InsertProduct >

<InsertProduct xmlns:updg="urn:schemas-microsoft-com:xml-

updategram"><updg:sync>

<updg:before /><updg:after>

<Products ProductID="101"/></updg:after>

</updg:sync></InsertProduct >

Page 7: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Deleting DataDeleting Data

beforebefore 부분에 처리부분에 처리 각 각 beforebefore child child elementelement 는 유일하게 는 유일하게

singlesingle record record 로 구분되어야 함로 구분되어야 함

<DeleteProduct xmlns:updg="urn:schemas-microsoft-com:xml-

updategram"><updg:sync>

<updg:before><Products ProductID="101"/>

</updg:before><updg:after></updg:after>

</updg:sync></DeleteProduct>

<DeleteProduct xmlns:updg="urn:schemas-microsoft-com:xml-

updategram"><updg:sync>

<updg:before><Products ProductID="101"/>

</updg:before><updg:after></updg:after>

</updg:sync></DeleteProduct>

Page 8: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Updating DataUpdating Data ““before” before” 와 “와 “ after” after” 부분에 처리부분에 처리 여러 여러 rowrow 는 는 idid 로 로 matchmatch

<UpdateProduct xmlns:updg="urn:schemas-microsoft-com:xml-updategram">

<updg:sync ><updg:before>

<Products ProductID="101"/></updg:before><updg:after>

<Products UnitPrice="$752.99"/></updg:after>

</updg:sync></UpdateProduct>

<UpdateProduct xmlns:updg="urn:schemas-microsoft-com:xml-updategram">

<updg:sync ><updg:before>

<Products ProductID="101"/></updg:before><updg:after>

<Products UnitPrice="$752.99"/></updg:after>

</updg:sync></UpdateProduct>

Page 9: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Using ParametersUsing Parameters

<UpdateProduct xmlns:updg="urn:schemas-microsoft-com:xml-updategram">

<updg:header><updg:param name="ProductID"/><updg:param name="NewCategory"/>

</updg:header><updg:sync >

<updg:before><products CategoryID="$NewCategory"/><Products ProductID="$ProductID"/>

</updg:before><updg:after />

</updg:sync></UpdateProduct>

<UpdateProduct xmlns:updg="urn:schemas-microsoft-com:xml-updategram">

<updg:header><updg:param name="ProductID"/><updg:param name="NewCategory"/>

</updg:header><updg:sync >

<updg:before><products CategoryID="$NewCategory"/><Products ProductID="$ProductID"/>

</updg:before><updg:after />

</updg:sync></UpdateProduct>

<updg:header<updg:header>> 에 에 parameter parameter 지정지정 $$ 를 사용 를 사용 parameter parameter 처리처리

Page 10: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

DiffergramDiffergram

<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <DataInstance> <Customer diffgr:id="Customer1" msdata:rowOrder="0" diffgr:hasChanges="inserted" CustomerID="ALFKI"> <CompanyName>C3Company</CompanyName> <ContactName>C3Contact</ContactName> <Order diffgr:id="Order1" msdata:rowOrder="0" diffgr:hasChanges="inserted" CustomerID="ALFKI" OrderID="1"/> </Customer> </DataInstance>

<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <DataInstance> <Customer diffgr:id="Customer1" msdata:rowOrder="0" diffgr:hasChanges="inserted" CustomerID="ALFKI"> <CompanyName>C3Company</CompanyName> <ContactName>C3Contact</ContactName> <Order diffgr:id="Order1" msdata:rowOrder="0" diffgr:hasChanges="inserted" CustomerID="ALFKI" OrderID="1"/> </Customer> </DataInstance>

Differgram Differgram 도 도 template , xml filetemplate , xml file URL URL 쿼리쿼리 ,ADO,.NET Managed Class,ADO,.NET Managed Class 에서 사용에서 사용

Page 11: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Bulk LoadBulk Load

Supplier

Catalog

Retailer

Extranet

Bulk Load facility

XML DataXML Data 를 를 SQL ServerSQL Server 로 로 Bulk LoadBulk Load COM COM ComponentComponent 대량의 데이터처리대량의 데이터처리 , , 빠른 성능빠른 성능

Page 12: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Using SQLXMLBulkLoadUsing SQLXMLBulkLoad

SQLXMLBulkLoad ObjectSQLXMLBulkLoad Object 를 생성를 생성

Execute MethodExecute Method 를 이용 를 이용 DataData 와 매핑을 로드와 매핑을 로드 Mapping schema, XML source parameterMapping schema, XML source parameter

Set objBL=CreateOhect("SQLXMLBulkLoad.SQLXMLBulkLoad")

Set objBL=CreateOhect("SQLXMLBulkLoad.SQLXMLBulkLoad")

objBL.Execute "c:\productschema.xml", "c:\products.xml"

objBL.Execute "c:\productschema.xml", "c:\products.xml"

Page 13: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Using Mapping SchemasUsing Mapping Schemas

Supplier

Purchase order

Catalog

RetailerCatalog schema

Purchase order schema

Page 14: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Using Mapping SchemasUsing Mapping Schemas

XML XML 문서표현에 대한 동의문서표현에 대한 동의 Relation DataRelation Data 와 와 XMLXML 간의 간의 mappingmapping 정보정보 SchemaSchema 의 일종 생성의 일종 생성

XML-Data Reduced (XDR)XML-Data Reduced (XDR) XML Schema(XSD)XML Schema(XSD)

Page 15: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

MappingMapping

XML-SQL, XML-SQL, xmlns:xsdxmlns:xsd namespace namespace Default mapping Default mapping 적용적용 sql:relation sql:relation 주석을 사용 주석을 사용

table table 또는 또는 view view 의 의 aliasalias 를 생성를 생성 sql:field sql:field 주석을 사용 주석을 사용

columncolumn 의 의 aliasalias 를 생성를 생성

Page 16: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

예예 ) Default Mapping) Default Mapping

XML View관계형 데이터 :Customers

<Customers CustID=“A”/><Customers/><Customers CustID=“B”/>

<Customers CustID=“A”/><Customers/><Customers CustID=“B”/>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“ xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>

<xsd:element name=“Customers”><xsd:element name=“Customers”> <xsd:complexType><xsd:complexType>

<xsd:attribute name=“CustID”/><xsd:attribute name=“CustID”/> </xsd:complexType></xsd:complexType> </xsd:element ></xsd:element ></xsd:schema></xsd:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“ xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>

<xsd:element name=“Customers”><xsd:element name=“Customers”> <xsd:complexType><xsd:complexType>

<xsd:attribute name=“CustID”/><xsd:attribute name=“CustID”/> </xsd:complexType></xsd:complexType> </xsd:element ></xsd:element ></xsd:schema></xsd:schema>

CustID------ANULLB

CustID------ANULLB

Page 17: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

예예 ) Explicit Mapping) Explicit Mapping

XML View관계형 데이터 : UserObject

<Customers ID=“A”/><Customers/><Customers ID=“B”/>

<Customers ID=“A”/><Customers/><Customers ID=“B”/>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“ xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>

<xsd:element name=“Customers”<xsd:element name=“Customers” msdata:relation=“UserObject"msdata:relation=“UserObject">> <xsd:complexType><xsd:complexType>

<xsd:attribute name=“ID”<xsd:attribute name=“ID” msdata:field=“SECOrgID"msdata:field=“SECOrgID"/>/> </xsd:complexType></xsd:complexType> </xsd:element ></xsd:element ></xsd:schema></xsd:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema“ xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>xmlns:msdata="urn:schemas-microsoft-com:mapping-schema“>

<xsd:element name=“Customers”<xsd:element name=“Customers” msdata:relation=“UserObject"msdata:relation=“UserObject">> <xsd:complexType><xsd:complexType>

<xsd:attribute name=“ID”<xsd:attribute name=“ID” msdata:field=“SECOrgID"msdata:field=“SECOrgID"/>/> </xsd:complexType></xsd:complexType> </xsd:element ></xsd:element ></xsd:schema></xsd:schema>

SECOrgID------ANULLB

SECOrgID------ANULLB

Page 18: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

예예 ) Join Mapping) Join Mapping<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:mapping-schema">xmlns:msdata="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="Customer"<xsd:element name="Customer" msdata:relation="Customers"msdata:relation="Customers">> <xsd:complexType><xsd:complexType> <xsd:sequence><xsd:sequence> <xsd:element name="Order"<xsd:element name="Order" msdata:relation="Orders"msdata:relation="Orders">> <xsd:annotation><xsd:appinfo><xsd:annotation><xsd:appinfo> <msdata:relationship <msdata:relationship

parent="Customers" parent-key="CustomerID"parent="Customers" parent-key="CustomerID" child="Orders" child-key="CustomerID" /child="Orders" child-key="CustomerID" />> </xsd:appinfo></xsd:annotation></xsd:appinfo></xsd:annotation> <xsd:complexType> <xsd:complexType>

<xsd:attribute name="OrderDate" type="xsd:dateTime"/><xsd:attribute name="OrderDate" type="xsd:dateTime"/> </xsd:complexType></xsd:complexType> </xsd:element></xsd:element> </xsd:sequence></xsd:sequence> <xsd:attribute name="CustomerID" /><xsd:attribute name="CustomerID" /> </xsd:complexType></xsd:complexType> </xsd:element></xsd:element></xsd:schema></xsd:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:mapping-schema">xmlns:msdata="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="Customer"<xsd:element name="Customer" msdata:relation="Customers"msdata:relation="Customers">> <xsd:complexType><xsd:complexType> <xsd:sequence><xsd:sequence> <xsd:element name="Order"<xsd:element name="Order" msdata:relation="Orders"msdata:relation="Orders">> <xsd:annotation><xsd:appinfo><xsd:annotation><xsd:appinfo> <msdata:relationship <msdata:relationship

parent="Customers" parent-key="CustomerID"parent="Customers" parent-key="CustomerID" child="Orders" child-key="CustomerID" /child="Orders" child-key="CustomerID" />> </xsd:appinfo></xsd:annotation></xsd:appinfo></xsd:annotation> <xsd:complexType> <xsd:complexType>

<xsd:attribute name="OrderDate" type="xsd:dateTime"/><xsd:attribute name="OrderDate" type="xsd:dateTime"/> </xsd:complexType></xsd:complexType> </xsd:element></xsd:element> </xsd:sequence></xsd:sequence> <xsd:attribute name="CustomerID" /><xsd:attribute name="CustomerID" /> </xsd:complexType></xsd:complexType> </xsd:element></xsd:element></xsd:schema></xsd:schema>

Page 19: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Filtering DataFiltering Data

sql:limit-field sql:limit-field 와 와 sql:limit-value sql:limit-value 사용사용<xsd:annotation> <xsd:appinfo><sql:relationship name="CustAddr“parent="Customer" parent-key="CustomerID" child="Addresses" child-key="CustomerID" /> </xsd:appinfo> </xsd:annotation> <xsd:sequence> <xsd:element name="BillTo"

type="xsd:string" sql:relation="Addresses" sql:field="StreetAddress" sql:limit-field="AddressType" sql:limit-value="billing" sql:relationship="CustAddr" >

<xsd:annotation> <xsd:appinfo><sql:relationship name="CustAddr“parent="Customer" parent-key="CustomerID" child="Addresses" child-key="CustomerID" /> </xsd:appinfo> </xsd:annotation> <xsd:sequence> <xsd:element name="BillTo"

type="xsd:string" sql:relation="Addresses" sql:field="StreetAddress" sql:limit-field="AddressType" sql:limit-value="billing" sql:relationship="CustAddr" >

Page 20: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Using ConstantsUsing Constants

sql:is-constant sql:is-constant 사용사용 1 1 이면 이면 mappingmapping 되지 않음되지 않음

<xsd:element name="CustomerOrders" sql:is-constant="1" > <xsd:complexType> <xsd:sequence> <xsd:element name="Order" sql:relation="Orders" sql:relationship="CustOrders" maxOccurs="unbounded" > <xsd:complexType> <xsd:attribute name="OrderID"

<xsd:element name="CustomerOrders" sql:is-constant="1" > <xsd:complexType> <xsd:sequence> <xsd:element name="Order" sql:relation="Orders" sql:relationship="CustOrders" maxOccurs="unbounded" > <xsd:complexType> <xsd:attribute name="OrderID"

Page 21: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

SchemaSchema 를 이용 데이터 검색를 이용 데이터 검색 XPath XPath 를 이용하여 를 이용하여 selectselect

<sql:xpath-query> element<sql:xpath-query> element Schema Virtual Name Schema Virtual Name 게시게시

schema/Schema2.xml/schema/Schema2.xml/Customers[@CustomerID="ALFKI"]Customers[@CustomerID="ALFKI"]

SqlXmlCommand SqlXmlCommand 클래스를 이용클래스를 이용 <sql:xpath-query> element<sql:xpath-query> element

Template Template 인라인 인라인 Mapping SchemaMapping Schema

Page 22: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

URLURL 을 통한 을 통한 HTTP HTTP AccessAccess

RetailerShipping Co.

Supplier

Extranet Intranetsite

Web site

Browser

Catalog

Application

Browser

HTTPHTTP 를 통한 를 통한 SQL Server DataSQL Server Data 게시게시 URL URL 쿼리쿼리 , XML View, POST, Template, XML View, POST, Template

Page 23: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Vir-Directory ArchitectureVir-Directory ArchitectureInternet Information Services

OLE DB

SQL Server 2000

…FOR XML……FOR XML…HTTP-aware applicationsHTTP-aware applications

Business partnersBusiness partners

Web browserWeb browser

Clients

Sqlisapi.dll Sqlxmlx.dll

Virtual nameVirtual name

http://webserver/data

An XML documentAn XML

documentVirtual directoryVirtual directory

Page 24: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Virtual Directory Virtual Directory 생성생성 이름과 실제 경로 지정이름과 실제 경로 지정 데이터베이스 선택데이터베이스 선택 보안 구현보안 구현 HTTP option HTTP option 선택선택 virtual name virtual name 생성 생성

template template 파일파일 , mapping schema, database , mapping schema, database object object 또는 또는 soapsoap

추가적인 추가적인 parameter parameter 지정지정

Page 25: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

HTTP Access HTTP Access 테스트 테스트 URL URL 쿼리를 이용 할 수 있도록 선택쿼리를 이용 할 수 있도록 선택 root elementroot element 를 지정를 지정

http://webserver/data? sql=SELECT productname, unitprice FROM products FOR XML AUTO&root=catalog

http://webserver/data? sql=SELECT productname, unitprice FROM products FOR XML AUTO&root=catalog

Page 26: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

XML Template XML Template 파일파일 하나이상의 하나이상의 SQL statements SQL statements 또는 또는

XPath XPath 쿼리로 이루어진 쿼리로 이루어진 valid XML valid XML 문서문서 서버사이드서버사이드 Parameter Parameter 허용허용

<?xml version="1.0"?><catalog xmlns:sql='urn:schemas-microsoft-com:xml-sql'> <sql:query> SELECT productid, productname, unitprice FROM products product FOR XML AUTO </sql:query></catalog>

<?xml version="1.0"?><catalog xmlns:sql='urn:schemas-microsoft-com:xml-sql'> <sql:query> SELECT productid, productname, unitprice FROM products product FOR XML AUTO </sql:query></catalog>

Page 27: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Template File Template File 게시게시 template filetemplate file 이 있는 폴더에 이 있는 폴더에

virtual name virtual name 지정지정http://webserver/data/templates/catalog.xmlhttp://webserver/data/templates/catalog.xml

C:\SQLSite

C:\Templates

C:\Templates\catalog.xml

Web server

Object Physical path Name

Virtual directory

Virtual name

Template file

data

templates

webserver

catalog.xml

Page 28: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

Schema Virtual Name Schema Virtual Name 게시게시 SchemaSchema 를 담고있는 폴더를 를 담고있는 폴더를 virtual namevirtual name 으로 으로

구현구현

클라이언트에서는 클라이언트에서는 URLURL 을 이용하여 을 이용하여 schemaschema 를 를 액세스액세스

http://webserver/query/schemas/inv.xml/Item?root=Invoicehttp://webserver/query/schemas/inv.xml/Item?root=Invoice

C:\SQLSite (Virtual root data)

C:\Schemas (Virtual name schemas)

inv.xml

Webserver

Page 29: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

dbobject Virtual Name dbobject Virtual Name 게시게시 BLOB BLOB 데이터를 처리하기 위해 데이터를 처리하기 위해 dbobject dbobject

virtual name virtual name 구현구현 (( 예 예 image)image) AUTO AUTO 모드에서 처리되는 모드에서 처리되는 binary object binary object 를 를

처리처리 path path 는 미지정됨는 미지정됨 단지 각 단지 각 virtual directoryvirtual directory 에 하나만 지정에 하나만 지정

XPath XPath 쿼리 허용쿼리 허용

Page 30: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

URLURL 을 통한 을 통한 dbobjectdbobject

Xpath Xpath 적용적용

스타일 시트의 스타일 시트의 IMAGE IMAGE 태그의 태그의 srcsrc 로 로 dbobject dbobject 사용사용

dbobject/categories[@categoryid='1']/@picture

dbobject/categories[@categoryid='1']/@picture

<IMG> <xsl:attribute name='SRC'> http://webserver/data/ <xsl:value-of select='@picture'/> </xsl:attribute></IMG>

<IMG> <xsl:attribute name='SRC'> http://webserver/data/ <xsl:value-of select='@picture'/> </xsl:attribute></IMG>

Page 31: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

SOAP Virtual Name SOAP Virtual Name 게시게시 SP,Template SP,Template 로 로 soap virtual namesoap virtual name 적용적용

http://IISServer/nwind/SoapVirtualName?wsdl http://IISServer/nwind/SoapVirtualName?wsdl

Page 32: SQLXML 의 세부 기능 소개  정 홍주 WebTime Feelanet

SQLXML SQLXML 성능 최적화 성능 최적화 Caching Caching

Template Caching Template Caching XSLT Stylesheet Caching XSLT Stylesheet Caching Schema Caching Schema Caching HKEY_LOCAL_MACHINE\SOFTWARE\HKEY_LOCAL_MACHINE\SOFTWARE\

Microsoft\MSSQLServr\Client\SQLXML3 Microsoft\MSSQLServr\Client\SQLXML3 SQLXMLOLEDBSQLXMLOLEDB

con.open "Provider=SQLXMLOLEDB;data con.open "Provider=SQLXMLOLEDB;data provider=sqloledb; provider=sqloledb;