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

Você está em: PrincipalArtigos › ASP 3.0 › Capítulo 06 : 02
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SITES DINÂMICOS COM ASP 3.0 - CURSO COMPLETO
Autor: Júlio Battisti


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


Lição 046 - Capítulo 06 - Estabelecendo conexões sem a utilização de ODBC

Vamos repetir uma figura que foi apresentad no Capítulo 5, a qual ilustra a conexão de págins ASP com fontes de dados, através da utilização de OLE-DB, conforme indicado na Figura 6.1:

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.1 Acessando fontes de dados com OLE DB.

Conforme ilustrado nesta figura, é possível o acesso a Fontes de dados, sem a utilização de ODBC. Este é um ponto de confusão entre muitos programadores iniciantes em ASP. Em diversas conversas com colegas que estavam iniciando o estudo de ASP, surgiu está dúvida:

“É possível conectar com uma Fonte de dados, como por exemplo um Banco de dados do Microsoft Access, sem a utilização de um driver ODBC ?”

A resposta é sim, é perfeitamente possível, para isto basta criar um objeto Connection e configurar corretamente a sua propriedade ConnectionString.

A propriedade ConnectionString deve conter as informações necessárias para estabelecer a conexão com uma fonte de Dados. Através desta propriedade, devemos fornecer informações tais como:

  • Provedor
  • Nome do usuário.
  • Senha do usuário.
  • Nome do arquivo.
  • Nome do servidor (como no caso de um Servidor SQL Server).
  • Nome do Banco de dados no Servidor.

São informações necessárias para que a página ASP possa estabelecer a conexão com a fonte de dados, utilizando o OLE DB Provider correto. Pode até ser que seja utilizado o OLE DB Provider para ODBC, mas isto não é obrigatório.

Agora aprenderemos um pouco mais sobre a propriedade ConnectionString. Também veremos alguns exemplos de utilização desta propriedade.

A propriedade ConnectionString.

Esta propriedade deve ser configurada de maneiras diferentes, de acordo com a Fonte de dados que estiver sendo utilizada. Por exemplo, a configuração para acessar um Banco de dados do Microsoft Access é diferente da configuração para acessar um Banco de dados do Microsoft SQL Server ou do Oracle. Vamos estudar como configurar esta propriedade para acessar algumas das principais fontes de dados: Microsoft Access, Microsoft SQL Server e Oracle.

A propriedade ConnectionString possui uma série de comandos no formato:

argumento = valor

onde argumento pode ser a informação sobre o Provedor, o nome do usuário, etc. Apenas a título de exemplo, listamos a seguir a propriedade ConnectionString do exemplo da Listagem 5.2, do capítulo anterior:

Provider=MSDASQL.1;Data Source=nwind;Extended Properties="DSN=nwind;DBQ=C:\MEUS DOCUMENTOS\NWIND.MDB;DriverId=281;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"

Agora vamos decifrar e aprender a utilizar esta propriedade.

Configurando conexões com Bancos de dados do Microsoft Access:

 Para configurar a propriedade ConnectionString para estabelecer uma conexão com um Banco de dados do Microsoft Access, podemos configurar os parâmetros indicados na Tabela 6.1:

Propriedade Descrição
Provider Deve ser especificado o OLE DB Provider para o Microsoft Access. Para esta propriedade utilizamos o seguinte valor: Microsoft.Jet.OLEDB.4.0.
Data Source Informamos o caminho para o arquivo .mdb. Por exemplo, C:\Arquivos de programas\office\nwind.mdb.
User ID Especifica o nome do usuário com a qual a conexão será estabelecida. Caso esta propriedade não seja informada, a mesma será definida como "admin", o qual é o usuário padrão.
Password Informa a senha para o usuário que fará a conexão. Caso esta propriedade não seja informada, a mesma será definida como "".

Tabela 6.1 Definindo a propriedade ConnectionString para uma fonte do Microsoft Access.

IMPORTANTE! Por padrão o OLE DB Provider para Microsoft Access (também chamado de Jet OLE DB Provider), abre o Banco de dados com permissão de leitura e escrita, isto é, os dados também podem ser modificados. Para alterar o modo de abertura, para por exemplo, somente escrita, devemos utilizar a propriedade Mode, do objeto Connection.

Abaixo temos um exemplo de uma conexão com um Banco de dados, utilizando a propriedade ConnectionString:

1          Set conn=Server.CreateObject("ADODB.Connection")

2          conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=c:\meus             documentos\nwind.mdb"

Primeiro criamos um objeto do tipo Connection. Depois utilizamos o método Open, para abrir esta conexão. Observe que após o método Open é passada uma String de conexão como parâmetro para o método Open. Este parâmetro é a propriedade ConnectionString.

Poderíamos obter o mesmo resultado de uma maneira diferente: Primeiro vamos definir a propriedade ConnectionString, depois simplesmente chamamos o método Open. Ao chamar o método Open, o mesmo verifica se a propriedade ConnectionString já está definida e utiliza a mesma. Nosso exemplo ficaria assim:

1          Set conn=Server.CreateObject("ADODB.Connection")

2          conn.ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA        SOURCE=c:\meus documentos\nwind.mdb"

3          conn.Open

Neste caso, na linha 2 foi definida a propriedade ConnectionString e na linha 3 utilizamos o método Open.

Utilizamos os números de linha apenas para referência. Quando criamos nossas páginas ASP não devemos utilizar números de linhas.

A linha 2 aparece “quebrada” em duas linhas por questões de espaço para exibição, mas a mesma deve ser digitada em uma única linha.

No exemplo a seguir, temos um caso onde foi fornecido o nome do usuário e a senha para conexão.

1          Set conn=Server.CreateObject("ADODB.Connection")

2          conn.ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA        SOURCE=c:\meus documentos\nwind.mdb; User ID=jsilva;Password=senha12"

3          conn.Open

Para maiores detalhes sobre segurança de Bancos de dados do Microsoft Access, consulte a documentação do próprio Access.

Configurando conexões com Bancos de dados do Microsoft SQL Server:

 Para configurar a propriedade ConnectionString para estabelecer uma conexão com um Banco de dados do Microsoft SQL Server, podemos configurar os parâmetros indicados na Tabela 6.2:

Propriedade Descrição
Provider Deve ser especificado o OLE DB Provider para o Microsoft Access. Para esta propriedade utilizamos o seguinte valor: SQLOLEDB .
Data Source ou Server Informamos o nome do Servidor SQL.
Initial Catalog Nome do Banco de dados a ser utilizado. Em um Servidor   Database SQL, podem existir vários bancos de dados.
User ID ou uid Especifica o nome do usuário com a qual a conexão será estabelecida. Caso esta propriedade não seja informada, a mesma erá definida como “admin”, o qual é o usuário padrão.
Password ou pwd Informa a senha para o usuário que fará a conexão. Caso esta propriedade não seja informada, a mesma será definida como "".

Tabela 6.2 Definindo a propriedade ConnectionString para uma fonte do Microsoft Access.

Na Listagem 6.1,  temos um exemplo de uma conexão com um Banco de dados do Microsoft SQL Server, utilizando a propriedade ConnectionString:

Listagem 6.1 – Conectando com um Banco de dados do Microsoft SQL Server 2000 – nwind_sql.asp.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          <TITLE>Conectando com o SQL Server 2000</TITLE>

5          </HEAD>

6          <BODY>

7          <H1>

8          <FONT color=navy>Pedidos  da Empresa ABC LTDA.</FONT>

9          </H1>

10        <%

11        'O Primeiro passo é criar a conexão com o Banco de dados

12        'Para isto crio um objeto do tipo Connection

13        'Cria um Objeto do Tipo ADODB.Connection

14          Set conn=Server.CreateObject("ADODB.Connection")

15        'Agora defino a propriedade ConnectionString do objeto Connection

16        'criad8 anteriormente.

             

17        conn.ConnectionString = "PROVIDER=SQLOLEDB;

            Data Source=SERVIDOR\SERVIDOR;Initial Catalog=Northwind;

            User ID=sa;Password=senha123"

18        conn.Open

19        'O próximo passo é criar uma instrução SQL

20        inst_sql="SELECT Orders.OrderID, Orders.OrderDate, Orders.ShipCity,    Orders.ShipCountry FROM Orders ORDER BY Orders.OrderDate"

21        'Esta instrução SQL retorna os campos OrderID, OrderDate,

            'ShipCity e ShipCountry, da tabela Orders, do Banco de dados NorthWind.

22        'Agora criamos um Objeto RecordSet.

23        'Este Objeto irá executar a instrução SQL e

24        'receber o resultado da Consulta.

25        Set Pedidos = Server.CreateObject("ADODB.Recordset")

26        'Agora executamos a Instrução SQL

27        Pedidos.Open inst_sql, conn, 3, 3

28        'Neste ponto já tenho todos os registros retornados

29        'pela instrução SQL. Estes registros estão armazenados

30        'no objeto Clientes, que é um objeto do tipo Recordset.

31        'Agora passo a montar a página que será retornada para o

32        'Navegador do Cliente. Vamos montar uma tabela com o

33        'resultado da consulta.

34        %>

35        <P>

36        <HR>

37        <TABLE bgColor=gray border=1 borderColor=navy cellPadding=1 cellSpacing=1 width="100%">

38        <TR>

39            <TD align=middle bgColor=gray>Código</TD>

40            <TD align=middle bgColor=gray>Data</TD>

41            <TD align=middle bgColor=gray>Cidade</TD>

42            <TD align=middle bgColor=gray>País</TD>

43        </TR>

44        <%

45        'Inicio um Loop para percorrer todos os registros

46        'do RecordSet Clientes, exibindo um Registro em

47        'cada Linha da tabela.

48        Do Until Pedidos.eof %> 

49          <TR>

50            <TD align=middle bgColor=gray><%=Pedidos.Fields("OrderID")%></TD>

51            <TD align=middle bgColor=gray><%=Pedidos.Fields("OrderDate")%></TD>

52            <TD align=middle bgColor=gray><%=Pedidos.Fields("ShipCity")%></TD>

53            <TD align=middle bgColor=gray><%=Pedidos.Fields("ShipCountry")%></TD>

54          </TR>

55        <% Pedidos.MoveNext

56        loop %>

57        </TABLE>

58        </P>

59        <HR>

60        </BODY>

61        </HTML>

Ao acessarmos este arquivo, obtemos o resultado indicado na Figura 6.2.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.2 Dados carregados a partir do Microsoft SQL Server.

Alguns detalhes importantes a serem comentados a respeito deste exemplo.

  • Primeiro, vamos considerar o seguinte fragmento de código:

17        conn.ConnectionString = "PROVIDER=SQLOLEDB;

            Data Source=SERVIDOR\SERVIDOR;Initial Catalog=Northwind;

            User ID=sa;Password=senha123"

18        conn.Open

Observe que, neste caso, primeiro definimos a propriedade ConnectionString. Depois utilizamos o método Open, para abrir a conexão. Como a propriedade ConnectionString já estava definida, o método Open utiliza as informações da propriedade ConnectionString para estabelecer a conexão com o Banco de dados.

  • Segundo, vamos considerar a String de conexão:

"PROVIDER=SQLOLEDB;

Data Source=SERVIDOR\SERVIDOR;

Initial Catalog=Northwind;

User ID=sa;Password=senha123"

Observe que estamos informando os seguintes parâmetros:

Parâmetro Valor fornecido
Provider SQLOLEDB
Data Source ou Server SERVIDOR\SERVIDOR
Initial Catalog Northwind
User ID ou uid sa
Password ou pwd senha123

Tabela 6.3 Parâmetros para a String de conexão com o Servidor SQL Server.

Temos dois parâmetros que merecem maiores comentários.

O parâmetro Data Source ou Server foi informado da seguinte maneira:

SERVIDOR\SERVIDOR

Este formato é uma novidade do Microsoft SQL Server 2000. O valor antes da barra (\) é o nome do Servidor e o valor depois da barra é o nome da “Instância” do SQL Server a ser utilizada (que neste exemplo é igual ao nome do Servidor, porém poderia ser diferente). Com o Microsoft SQL Server 2000, posso ter várias instâncias do Servidor SQL, isto é como se eu tivesse vários servidores SQL Server 2000 diferentes no mesmo equipamento, sendo que cada um deles deve possuir um nome diferente. Assim poderíamos ter o seguinte exemplo:

  • SERVIDOR\SERVIDOR
  • SERVIDOR\PRODUCAO
  • SERVIDOR\ESPECIAL

Neste caso temos três “Instâncias” do Servidor SQL Server 2000 no computador de nome SERVIDOR. As três instâncias são:

  • SERVIDOR
  • PRODUCAO
  • ESPECIAL

Quando vou definir a String de conexão, preciso definir qual a instância a qual quero conectar a página ASP.

Se você estiver utilizando o Microsoft SQL Server 7.0, basta fornecer o nome do Servidor. Neste caso definiríamos a propriedade ConnectionString da seguinte maneira:

"PROVIDER=SQLOLEDB;

Data Source=SERVIDOR;

Initial Catalog=Northwind;

User ID=sa;Password=senha123"

  • Observe que estamos conectando com o Banco de dados Northwind. Dentre deste Banco de dados, a nossa instrução SQL acessa dados da tabela Orders, conforme indicado pelo seguinte fragmento de código:

20        inst_sql="SELECT Orders.OrderID, Orders.OrderDate, Orders.ShipCity,    Orders.ShipCountry FROM Orders ORDER BY Orders.OrderDate"

Com esta instrução são retornados os campos OrderID, OrderDate, ShipCity e ShipCountry. Além disso a listagem obtida é classificada pelo campo OrderDate, conforme pode ser confirmado pelos resultados exibidos na Figura 6.2.

Configurando conexões com Bancos de dados ORACLE.

Para configurar a propriedade ConnectionString para estabelecer uma conexão com um Banco de dados de um servidor ORACLE, podemos configurar os parâmetros indicados na Tabela 6.4:

Propriedade Descrição
Provider Deve ser especificado o OLE DB Provider para o ORACLE. Para esta propriedade, utilizamos o seguinte valor: MSDAORA
Data Source Informamos o nome do Servidor ORACLE.
User ID Especifica o nome do usuário com a qual a conexão será estabelecida.
Password Informa a senha para o usuário que fará a conexão.

Tabela 6.4 Definindo a propriedade ConnectionString para uma fonte ORACLE.

Abaixo temos um exemplo de uma conexão com um Banco de dados, utilizando a propriedade ConnectionString:

1          Set conn=Server.CreateObject("ADODB.Connection")

2          conn.Open "Provider=MSDAORA;Data Source=SERVIDOR;User ID=admin; Password=admin123"

Primeiro criamos um objeto do tipo Connection. Depois utilizamos o método Open, para abrir esta conexão. Observe que após o método Open é passada uma String de conexão como parâmetro para o método Open. Este parâmetro é a propriedade ConnectionString.

Poderíamos obter o mesmo resultado de uma maneira diferente: Primeiro vamos definir a propriedade ConnectionString, depois simplesmente chamamos o método Open. Ao chamar o método Open, o mesmo verifica se a propriedade ConnectionString já está definida e utiliza a mesma. Nosso exemplo ficaria assim:

1          Set conn=Server.CreateObject("ADODB.Connection")

2          conn.ConnectionString = " Provider=MSDAORA;Data Source=SERVIDOR;

            User ID=admin; Password=admin123"

3          conn.Open

Neste caso, na linha 2 foi definida a propriedade ConnectionString e na linha 3 utilizamos o método Open.

Utilizamos os números de linha apenas para referência. Quando criamos nossas páginas ASP não devemos utilizar números de linhas.

A linha 2 aparece “quebrada” em duas linhas por questões de espaço para exibição, mas a mesma deve ser digitada em uma única linha.

Para maiores detalhes sobre o ORACLE, consulte a documentação do produto.

Microsoft Access, Microsoft SQL Server e ORACLE são os casos mais comuns de conexões de páginas ASP com fontes de dados. Porém, conforme descrito no Capítulo 5, através de OLE DB podemos estabelecer conexões com qualquer fonte de dados, para a qual esteja disponível um OLE DB Provider, inclusive fontes de dados não estruturadas no formato de Bancos de dados relacionais. Como exemplos de fontes que não possuem o tradicional formato dos Bancos de dados relacionais, poderíamos citar os arquivos de mensagens de correio eletrônico do Microsoft Exchange ou do Lotus Notes, um catálogo de Indexação do Microsoft Index Server ou, até mesmo, uma fonte de dados residente em um Mainframe.


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • 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-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI