Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ao usar um esquema XSD para fornecer uma exibição XML do banco de dados relacional, os elementos e atributos do esquema devem ser mapeados para tabelas e colunas do banco de dados. As linhas na tabela/exibição do banco de dados serão mapeadas para elementos no documento XML. Os valores de coluna no banco de dados são mapeados para atributos ou elementos.
Quando as consultas XPath são especificadas em relação ao esquema XSD anotado, os dados dos elementos e atributos no esquema são recuperados das tabelas e colunas para as quais eles mapeiam. Para obter um único valor do banco de dados, o mapeamento especificado no esquema XSD deve ter a especificação de relação e de campo. Se o nome de um elemento/atributo não for o mesmo nome que a tabela/exibição ou o nome da coluna para o qual ele mapeia, as anotações e sql:field as sql:relation anotações serão usadas para especificar o mapeamento entre um elemento ou atributo em um documento XML e a tabela (exibição) ou coluna em um banco de dados.
relação sql
A sql:relation anotação é adicionada para mapear um nó XML no esquema XSD para uma tabela de banco de dados. O nome de uma tabela (exibição) é especificado como o valor da sql:relation anotação.
Quando sql:relation é especificado em um elemento, o escopo dessa anotação se aplica a todos os atributos e elementos filho descritos na definição de tipo complexo desse elemento, fornecendo, portanto, um atalho na gravação de anotações.
A sql:relation anotação também é útil quando identificadores válidos no Microsoft SQL Server não são válidos no XML. Por exemplo, "Detalhes do Pedido" é um nome de tabela válido no SQL Server, mas não em XML. Nesses casos, a sql:relation anotação pode ser usada para especificar o mapeamento, por exemplo:
<xsd:element name="OD" sql:relation="[Order Details]">
sql-field
A sql-field anotação mapeia um elemento ou atributo para uma coluna de banco de dados. A sql:field anotação é adicionada para mapear um nó XML no esquema para uma coluna de banco de dados. Você não pode especificar sql:field em um elemento de conteúdo vazio.
Exemplos
Para criar exemplos de funcionamento usando os exemplos a seguir, é necessário atender a determinados requisitos. Para obter mais informações, consulte Requisitos para executar exemplos de SQLXML.
Um. Especificando as anotações sql:relation e sql:field
Neste exemplo, o esquema XSD consiste em um <elemento Contact> de tipo complexo com <elementos filho FName> e <LName> e o atributo ContactID .
A sql:relation anotação mapeia o <elemento Contact> para a tabela Person.Contact no banco de dados AdventureWorks. A sql:field anotação mapeia o <elemento FName> para a coluna FirstName e o <elemento LName> para a coluna LastName.
Nenhuma anotação é especificada para o atributo ContactID . Isso resulta em um mapeamento padrão do atributo para a coluna com o mesmo nome.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Contact" sql:relation="Person.Contact" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FName"
sql:field="FirstName"
type="xsd:string" />
<xsd:element name="LName"
sql:field="LastName"
type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="ContactID"
type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Para testar uma consulta XPath de exemplo com relação ao esquema
Copie o código de esquema acima e cole-o em um arquivo de texto. Salve o arquivo como MySchema-annotated.xml.
Copie o modelo a seguir e cole-o em um arquivo de texto. Salve o arquivo como MySchema-annotatedT.xml no mesmo diretório em que você salvou MySchema-annotated.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="MySchema-annotated.xml"> /Contact </sql:xpath-query> </ROOT>O caminho do diretório especificado para o esquema de mapeamento (MySchema-annotated.xml) é relativo ao diretório em que o modelo é salvo. Também é possível especificar um caminho absoluto, por exemplo:
mapping-schema="C:\SqlXmlTest\MySchema-annotated.xml"Crie e use o script de teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o modelo.
Para obter mais informações, consulte Como usar o ADO para executar consultas SQLXML.
Este é o conjunto de resultados parcial:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="1">
<FName>Gustavo</FName>
<LName>Achong</LName>
</Contact>
.....
</ROOT>