NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
« Lição anterior | ![]() |
Δ Página principal | ![]() |
¤ Capítulos | ![]() |
Próxima lição » |
SQL Server 2005 - CURSO COMPLETO Autor: Júlio Battisti | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lição 215 - Capítulo 12 - Testando o Acesso aos Dados do SQL Server 2005 Através do Navegador | ||||||||||||||
Após termos configurado um diretório virtual associado com o Banco de Dados Northwind, podemos testar o acesso aos dados utilizando HTTP. O nosso diretório virtual é chamado NorthwindSQL, conforme configurado no exemplo anterior. Lembre que estou utilizando um computador com o nome de Servidor. Se você estiver utilizando um nome diferente, substitua pelo nome correspondente. Outro detalhe a ser observado é que os dados são retornados no formato XML – Extensible Markup Language. No próximo item, falaremos um pouco sobre este padrão que vem sendo utilizado cada vez mais na industria de informática. Para testar o acesso via HTTP, abra o Internet Explorer e digite o seguinte endereço: http://servidor/NorthwindSQL?sql=SELECT * FROM Orders FOR XML AUTO&root=root Este endereço envia o comando SELECT * FROM Orders para o Banco de Dados Northwind, associado com o diretório virtual NorthwindSQL. Os dados são retornados no formato XML, conforme indicado na Figura 12.49.
Ainda não conhecemos o formato XML, mas posso adiantar que um documento no formato XML contém apenas dados, sem nenhuma informação a respeito do formato de exibição dos dados. A seguir, temos a parte inicial do documento, onde é retornado o registro para o Pedido 10248: <Orders OrderID="10248" CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00" RequiredDate="1996-08-01T00:00:00" ShippedDate="1996-07-16T00:00:00" ShipVia="3" Freight="32.38" ShipName="Vins et alcools Chevalier" ShipAddress="59 rue de l'Abbaye" ShipCity="Reims" ShipPostalCode="51100" ShipCountry="France" /> Também temos a cláusula FOR XML, a qual faz com que os dados sejam retornados no formato XML.Podemos executar, praticamente, qualquer comando SELECT, com todas as suas cláusulas. Por exemplo, o endereço a seguir retorna apenas os pedidos da tabela Orders, em que o país é Brazil: http://servidor/NorthwindSQL?sql=SELECT * FROM Orders WHERE ShipCountry=‘Brazil’ FOR XML AUTO&root=root Alterando um pouco o endereço, podemos ordenar o resultado pela data do pedido, isto é, pelo campo OrderDate http://servidor/NorthwindSQL?sql=SELECT * FROM Orders WHERE ShipCountry=‘Brazil’ Order By OrderDate FOR XML AUTO&root=root Vejam que é apenas uma questão de utilizar o comando T-SQL correto. Será que podemos utilizar uma cláusula Join? A melhor maneira de descobrir é tentando. Tente utilizar o seguinte endereço: http://servidor/NorthwindSQL?sql=SELECT Orders.OrderID, Orders.OrderDate, Orders.ShipCountry, SUM(([Quantity]*[UnitPrice])*(1-[Discount])) As Total FROM Orders INNER JOIN [Order Details] ON [Orders].[OrderID]=[Order Details].[OrderID] GROUP BY Orders.OrderID, Orders.OrderDate, Orders.ShipCountry HAVING (Orders.ShipCountry = ‘Brazil’) FOR XML AUTO&root=root A sintaxe para o nosso comando está correta e irá rodar sem problemas no SQL Server 2005. Já no SQL Server 2000, se você tentasse executar este comando, irá receber a seguinte mensagem de erro: MSSQLError HResult=“0x80040e14” Source=“Microsoft OLE DB Provider for SQL Server” Description=“GROUP BY and aggregate functions are currently not supported with FOR XML AUTO.” A mensagem nos informa que a cláusula GROUP BY e funções de agregação (no nosso exemplo utilizamos o SUM), não são suportadas com a cláusula FOR XML AUTO, do SQL Server 2000. Esta foi uma das melhorias introduzidas pelo SQL Server 2005 em relação ao SQL Server 2000. Para que este comando funcione no SQL Server 2000, você terá que alterá-lo. Vamos modificar um pouco o comando; ao invés da agrupar e totalizar vamos, simplesmente, calcular o total de cada item de cada pedido. Para isso, utilize o seguinte endereço: http://servidor/NorthwindSQL?sql=SELECT Orders.OrderID, Orders.OrderDate, Orders.ShipCountry, (([Quantity]*[UnitPrice])*(1-[Discount])) As Total FROM Orders INNER JOIN [Order Details] ON [Orders].[OrderID]=[Order Details].[OrderID] WHERE Orders.ShipCountry = ‘Brazil’ FOR XML AUTO&root=root A seguir, temos a parte inicial dos resultados obtidos: <Orders OrderID=“10250”OrderDate=“1996-07-08T00:00:00”ShipCountry=“Brazil”Total=“77” /> <Orders OrderID=“10250”OrderDate=“1996-07-08T00:00:00”ShipCountry=“Brazil”Total=“1261.4” /> <Orders OrderID=“10250”OrderDate=“1996-07-08T00:00:00”ShipCountry=“Brazil”Total=“214.20001” /> <Orders OrderID=“10253”OrderDate=“1996-07-10T00:00:00”ShipCountry=“Brazil”Total=“200” /> <Orders OrderID=“10253”OrderDate=“1996-07-10T00:00:00”ShipCountry=“Brazil”Total=“604.79999” /> <Orders OrderID=“10253”OrderDate=“1996-07-10T00:00:00”ShipCountry=“Brazil”Total=“640” /> <Orders OrderID=“10256”OrderDate=“1996-07-15T00:00:00”ShipCountry=“Brazil”Total=“393” /> <Orders OrderID=“10256”OrderDate=“1996-07-15T00:00:00”ShipCountry=“Brazil”Total=“124.8” /> <Orders OrderID=“10261”OrderDate=“1996-07-19T00:00:00”ShipCountry=“Brazil”Total=“160” /> <Orders OrderID=”10261"OrderDate=”1996-07-19T00:00:00"ShipCountry=”Brazil”Total=”288" /> <Orders OrderID=”10287"OrderDate=”1996-08-22T00:00:00"ShipCountry=”Brazil”Total=”472.60001" /> Você já deve ter observado que o navegador converte o endereço digitado para um formato diferente. Por exemplo, os espaços em branco são substituídos por “%20”. Isto acontece porque existem alguns caracteres especiais que não podem fazer parte de um endereço. Por isso, estes caracteres especiais são substituídos pelos correspondentes permitidos. Na Tabela 12.2, temos a descrição dos caracteres especiais e os correspondentes pelos quais são substituídos.
Tabela 12.2 Caracteres especiais em endereços HTTP. Agora que já vimos como acessar dados do servidor SQL Server 2005, através de um navegador, vamos ver uma breve introdução sobre o padrão XML. O tópico XML é assunto para vários livros. O SQL Server vem melhorando o suporte ao XML, desde o SQL Server 2000. Está fora do escopo deste livro, tratar sobre o uso do XML no SQL Server 2005. No tópico a seguir, eu farei apenas uma breve apresentação do XML. No Books Online, você encontra grande quantidade de informações sobre o uso do XML no SQL Server 2005. Pesquise no tópico: Database Engine -> Using XML in SQL Server. Além disso, certamente, serão publicados livros inteiros sobre o uso do XML no SQL Server 2005. |
||||||||||||||
« Lição anterior | ![]() |
Δ Página principal | ![]() |
¤ Capítulos | ![]() |
Próxima lição » |
Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela
Aplica-se ao Access 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2025 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI