Faça Sua Pesquisa.

segunda-feira, 13 de fevereiro de 2012

Acessando seu Microsoft SQL® 2000 com XML

Acessando seu Microsoft SQL® 2000 com XML
O Microsoft SQL Server® 2000 vem se consolidando como o melhor banco de dados corporativo no Mercado mundial. A Microsoft realizou grandes inovações no seu mecanismo para que tal posição pudesse ser alcançada. Uma dessas inovações é o acesso e manipulação das informações por ele gerenciadas em formato XML (eXtensible Markup Language).
Através dessa nova funcionalidade, é possível realizar o acesso aos dados usando HTTP ou, através de vários tipos de documentos XML.
Para que possamos usufruir desta funcionalidade do Microsoft SQL Server® 2000, é necessária a configuração prévia do Internet Information Services Directory Management, que pode ser realizado de forma programática, manipulando o seu respectivo modelo de objetos ou, graficamente, que estaremos demonstrando neste documento. 

Configurando IIS Virtual Directory Management

Antes de você poder realizar o seu Microsoft SQL Server® 2000 usando HTTP, você precisa configurar o seu diretório virtual de acesso. Este diretório virtual nada mais é que a porta de entrada ao banco de dados que você deseja permitir o acesso web. Aqui estaremos utilizando o Northwind, banco de dados instalado junto com o Microsoft SQL Server® 2000. Desta forma você poderá acessar seus dados digitando um simples endereço URL no seu navegador. Será algo como: http://seudominio/diretoriovirtualsql/…

Para começarmos, abra seu IIS Virtual Directory Management (figura 1), clicando no menu Configure SQL XML Support in IIS. Expanda o servidor onde você deseja criar o acesso e, em seguida, o web site desejado. Com o botão direito do mouse ou no menu Action, selecione a opção New, Virtual Directory, abrindo a janela New Virtual Directory Properties.
Lembre-se que criaremos um diretório virtual, o qual chamaremos de nwind e que permitirá o acesso ao banco de dados Northwind, do Microsoft SQL Server® 2000. Vejamos agora quais são nossas opções de configuração:

Tab General –  Onde você informará o nome do seu diretório virtual (Virtual Directory Name) – digite nwind – e sua localização física (Local Path). Para a localização física, crie uma folder - “c:\nwind” - quer servirá para guardar arquivos que permitirão o acesso XML ao banco de dados (Veremos adiante).

Tab Security –  Onde realizamos as configurações de segurança para o acesso ao nosso diretório virtual. Os tipos de configuração de segurança são bem conhecidos: Segurança Integrada, do Banco deDados ou Autenticação básica. Estaremos utilizando a segurança integrada com o Windows.

Tab Data Source –  Onde realizaremos as configurações de acesso, informando qual o servidor ou instância do Microsoft SQL Server® 2000 que usaremos (campo SQL Server) e qual o banco de dados estaremos disponibilizando o acesso (campo Database). No nossso exemplo selecionaremos o Northwind Database. Caso você tenha dúvida sobre qual servidor/instâcia SQL Server usar, clique no botão “…”, que sera disponibilizado o nome de todos os servidores/instâcias Microsoft SQL Server® 2000 da sua rede. 

Tab Settings –  Este é o momento mais importante do nosso documento. Estaremos informando qual sera o tipo de acesso que permitiremos, que são as seguintes opções:

Allow URL queries – permitirá que os usuários acessem o banco de dados digitando uma simples URL na barra de endereços do navegador. Exemplo: http://meuservidoroudominio/nwind?sql=select+*+from+employees+for+xml+auto
Allow template queries – permitirá o acesso através do uso de documentos válidos XML, previamente construídos e armazenados no servidor, e que terá no seu escopo a consulta ou consultas a serem realizadas. É a opção padrão. Exemplo:
<? Xml version=‘1.0’ enconding=‘UTF-8’ >
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:query>
    SELECT * FROM Employees FOR XML AUTO
  </sql:query>
</ROOT>
Allow xPath – permitirá a realização de consultas através de xPath (consulta a partes de documentos XML - schemas) e consulta direta a objetos do banco de dados (campos de tabelas, por exemplo). É indicado para o acesso a dados do tipo imagem. Por exemplo: http://meuservidoroudominio/nwind/dbobject/Employees[@EmployeeID=1]/@Photo onde Employees é a tabela que estamos acessando, @EmployeeID é o campo referência e @Photo é o campo desejado.
Allow POST – um recurso muito interessante, pois permitirá o envio de dados utilizando o método POST do HTML. Por exemplo: 
<html>
<head>

<TITLE>Sample Form </TITLE>
</head>
<body>
Informe o ID do Colaborador e receberá o Primeiro Nome e o ultimo como resposta.
<form action="http://IISServer/nwind" method="POST">
<B>ID Informado:</B>
<input type=text name=EmployeeID value='1'>
<input type=hidden name=contenttype value=text/xml>
<input type=hidden name=template value='
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<sql:header>
    <sql:param name="EmployeeID">1</sql:param>
</sql:header>
<sql:query>
  SELECT FirstName, LastName FROM Employees WHERE EmployeeID=@EmployeeID FOR XML AUTO
</sql:query>
</ROOT>
'>
<p><input type="submit">
</form>
 </body>
 </html>
Para podermos observar o funcionamento de todas os tipos de acesso, vamos selecionar todas as opções.


Tab Virtual Names –  outro momento importante, pois estaremos criando os sub-diretórios virtuais onde estaremos disponibilizando documentos XML para o acesso ao Microsoft SQL Server® 2000. Para tanto, devemos clicar no botão New, que abrirá a janela Virtual Name Configuration. Nesta janela devemos informar o nome do diretório, seu tipo e localização física no computador (campos Virtual name, Type e Path, respectivamente). O campo Type poderá ser: 
dbobject – Não possui um local (diretório) físico correspondente, servindo para o acesso a objetos do Banco de Dados. Vamos chamar o nosso de dbobject.
Template – para os acessos do tipo template queries. Possuirá um local (diretóirio) físico, onde devemos armazenar documentos XML que servirão para realizar as consultas ao banco de dados. Vamos chamar o nosso de template, e vamos direcioná-lo para o diretório de mesmo nome criado abaixo do diretório já criado nwind.

Schema – para a armazenagem de documentos XML do tipo Schema, que permitem criar Views do Banco de Dados e consultas do tipo xPath sobre esses schemas mapeados. São documentos muitos importantes, pois servem também para conexão com o Microsoft Biztalk Server. Vamos chamar o nosso de schema, e vamos direcioná-lo para o diretório de mesmo nome criado abaixo do diretório já criado nwind.

Tab Advanced –  Como o próprio nome sugere, é para que possamos realizar algumas configurações mais avançadas. As opções de configuração são as seguintes:
ISAPI Location – para esqpecificar a localização da sqlisapi.dll. Normalmente já disponibiliza localização desta dll.
Additional user settings – para configurações opcionais de acesso, no caso de uma conexão via OLE DB.
Caching options­ – como por padrão os acessos realizados através de schemas mapeados ficam guardados em cache, para reutilização em acessos futuros, esta opção disabilita este serviço, obrigando o “reload” do mapeamento de schemas cada vez que for necessário o seu uso.

0 comentários:

Postar um comentário

TecCodigos Copyright © 2011 | Template created by O Pregador | Powered by Blogger