Primeiro, vamos falar sobre o propósito do nosso exemplo - permitir que o banco de dados produza XML e o chame no sistema .net.
A camada de dados deste sistema utiliza um banco de dados SQL Server, e a camada intermediária pode ser implementada usando a ferramenta "Configurando Suporte SQL XML no IIS" que acompanha o SQL. Ok, agora vamos fazer isso. Primeiro, configure o SQL para gerar XML:
Isso pode parecer um pouco misterioso, mas na verdade, é apenas adicionar: FOR XML AUTO após nossa instrução de consulta comum.
Dê um exemplo:
SELECT TOP 100 tópico, nome, hora
FROM bbs onde [pedido]=1 ORDER BY [Hora] DESC
FOR XML AUTO
é executada no analisador de consulta SQL, você descobrirá que a saída não é mais a tabela que tradicionalmente concebemos, mas várias linhas de strings muito longas, e o conteúdo é o código XML que precisamos.
Dessa forma, o primeiro passo é permitir que o SQL produza XML.
Em seguida, iniciamos nossa segunda etapa, para que o arquivo XML possa ser chamado usando a web.
Após a depuração com sucesso, você pode criar um arquivo: por exemplo,
o conteúdo aaa.xml é o seguinte:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:consulta>
SELECIONE TOP 100 tópico, nome, horário
FROM bbs onde [pedido]=1 ORDER BY [Hora] DESC
PARA XML AUTOMÁTICO
</sql:consulta>
</ROOT>
Crie um diretório bbb em c: e coloque-o nele.
A parte do meio é nossa instrução SQL tradicional, e o encapsulamento frontal e posterior é nosso formato comum.
Coloque este arquivo em um diretório aleatório, abra "Configurar suporte SQL XML no IIS" do SQL e crie um diretório virtual no site que requer suporte XML. Vamos chamá-lo de ccc.
Em seguida, clique em Segurança - insira seu nome de usuário e senha SQL e, em seguida, Fonte de dados, que é o local do seu banco de dados e o banco de dados padrão.
Em seguida, clique em Configurações, selecione Permitir consulta de modelo, clique em Nome virtual, clique em Novo tipo e chame-o de nome de modelo.
ddd, o arquivo correspondente é nosso aaa.xml.
Em seguida, abra-o no IE: http://nome da sua máquina/ccc/ddd
O que você viu? Sim, é o conteúdo gerado pelo seu arquivo xml durante a consulta SQL.
O que não é saída? Abra o seu "Gerenciador de Serviços de Informações da Internet (IIS)" e selecione "Serviços de Extensão da Web",
Em seguida, selecione "Todas as extensões ISAP desconhecidas" para permitir. Está tudo bem agora?
Ok, agora vem nossa etapa mais crítica, etapa 3 - como chamar esse arquivo XML gerado dinamicamente no VS.net.
Primeiro precisamos criar um dataset1 não estruturado vazio e, em seguida, no código-fonte this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
Adicione this.dataSet1.ReadXml("http://nome da sua máquina/ccc/ddd");
Parabéns, agora você pode usar este arquivo XML gerado dinamicamente como um conjunto de dados somente leitura.