ASP e ADO - Fórum Visual Basic - Parte I


Estou preparando muitas novidades para este final de semestre. 

Se tudo der certo e o tempo deixar estarei implementando essas alterações aos poucos...

Ah... O mecanismo de busca para o Fórum já esta sendo testado e ,  em breve estará no ar...; a paginação das mensagens será a próxima implementação... aguardem...

Bem , vamos agora ao que interessa. Vou mostrar como criar um fórum desde de los princípios até hasta el fin.

Então você quer colocar seu banco de dados na WEB ?????

Ora , pois você veio ao lugar certo ... Vou te dar a receita ... Prepara-te...

Os Ingredientes

  1. Um espaço para por o site (imagens, arquivos, etc...)
  2. Um banco de dados ( para armazenar as informações...)
  3. O código asp que irá fazer o fórum funcionar.

Misture tudo e bata por duas horas. Depois ponha para testar em fogo brando. Retire do forno e deixe esfriar...  

Ora , você vai precisar primeiro saber onde vai colocar o seu banco de dados . Sabia que para montar um fórum ou uma loja virtual você vai precisar usar um banco de dados ? Não sabia ? Então ficou sabendo ... Vai desistir agora ??

Vamos deixar o banco de dados para depois, o principal agora é você saber aonde vai hospedar as suas páginas , seu fórum , enfim seu trabalho...

Como você quer que todo mundo tenha acesso a seu site/fórum , já sacou que vai ter que hospedar o seu site em um Servidor Web (Ou você pensa que montando tudo na sua máquina alguém vai saber que você existe ????) e divulgar o seu trabalho até que ele fique conhecido e que os usuários passem a acessar o seu site.

Existem muitos Servidores Web sérios e confiáveis , vamos dividí-los em duas categorias : os pagos e os não pagos . (Já sei você escolheu a última categoria ; muito bem garoto esperto.. )

Vou listar alguns sites com acesso gratuito onde você pode hospedar o seu site, veja:

  1. www.brinkster.com
  2. www.7host.com
  3. www.atomz.com

Todos estes sites oferecem hospedagem gratuita com suporte a ASP , base de dados Access , FTP , uns Megabytes de espaço(de 30 a 60) e algumas outras cositas más...

Como eu instalei o Fórum no Brinkster é sobre ele que vou falar. Então, as configurações para a conexão ao banco de dados e a localização do banco de dados serão definidas aqui do jeito que o Brinkster me impôs. Isto não quer dizer que você tenha que ser uma 'Maria vai com as outras' e escolha o Brinkster... Exerça seu livre arbítrio ... 

O Brinkster ofereçe:  60 MB de espaço livre , acesso a FTP , uso de banco de dados access , suporte a ASP e chega... já tá bom demais ... afinal é grátis...

Feita a escolha vá até www.brinkster.com , selecione a opção JOIN no menu do site , e preencha o formulário de cadastro , cadastre uma username e uma senha e blá,blá,blá ...toda aquela burocracia de sempre.... Ler o FAQ ... ler as regras do servidor... Pronto ! dentro de algumas horas você já terá acesso ao seu cantinho no Brinster. Você irá receber uma mensagem mais ou menos assim: ( a mensagem será enviada via email e você receberá um código (Join Code) para poder ter o seu cadastro efetivado)

 Thank you for beginning the join process at Brinkster!  This code will
only be good for 36 hours, if you do not use it within this time you will
need to signup again.

 Password : XXXXXX
 Join Code : #####

Você terá acesso ao seu site no endereço :  www15.brinkster.com/seu_nome conforme indicado no cadastro. É claro que se voce digitar www15.brinkster.com/seu_nome agora , irá obter aquela maravilhosa tela de página não localizada emitida por seu navegador. É porque , você ainda não fez nada , não escreveu nem uma linha de código , nem enviou os seus arquivos para o servidor e portanto não pode acessar algo que não esta pronto...

Agora veja bem o que eu vou falar : 

-as páginas do seu site/fórum serão acessadas pelos usuários no  endereço : www15.brinkster.com/seu_nome; (pode haver alguma variação)

-porém , para VOCÊ acessar o seu diretório de trabalho  terá que ir até o site do brinkster - www.brinkster.com - e se logar com o username e a senha que você cadastrou para pode trabalhar no seu espaço reservado;

Se você estiver pensando - Por que eu vou ter que acessar o site do brinkster e me logar ??   Ora , meu amigo , você precisa escrever o seu código html/asp e enviar os arquivos para o servidor , não precisa ? ( ou pensa que eles vão surgir do nada ...) Você vai fazer isto acessando o seu diretório após fazer o logon no servidor  , entendeu ???

O File Manager ou gerenciador de arquivos do servidor permitirá que você crie/exclua diretórios e arquivos e que envie/baixe arquivos para/de seu espaço reservado no servidor.

Montando o seu Fórum - O Banco de dados

Como estamos montando um fórum , vamos ter que armazenar as mensagens e respostas enviadas ao fórum em um banco de dados. Vamos usar o Microsoft Access 2000 e criar o banco de dados Forum.mdb.

O Microsoft Access não é um banco de dados Cliente/Servidor como o SQL Server. Geralmente um banco de dados Access não suporta mais de 35 usuários simultâneos e  você deve levar isto em consideração se pretende criar um Site com um tráfego intenso. Vamos escolher o Access contando com um tráfego menos intenso e levando em conta que podemos migrar para o SQL Server usando as ferramentas chamadas  - Upsizing Tools - que permitem converter um banco de dados Access para um SQL Server (incluindo tabelas e consultas). O Access 2000 já vem com essas ferramentas. Se você possuir o Access 97 deverá fazer o download das ferramentas em :  http://www.microsoft.com/accessdev/prodinfo/aut97dat.htm .(Essas ferramentas estão no Super CD Visual Basic )

Bem , nosso banco de dados - Forum.mdb - irá possuir duas tabelas : Forums e Mensagens.

A tabela Forums irá armazenar informações referente ao fórum que iremos criar e possuirá com os seguintes campos :

  1. ForuMID - Campo autonumeração e chave primária , contendo um número inteiro que irá identificar o Fórum. Com isto podemos criar vários fóruns : Visual Basic , ASP , etc...
  2. Forum - Campo texto com o nome do Fórum : Ex: Visual Basic 
  3. Descricao - Campo texto com a descrição do Fórum.: Ex: Fórum Visual Basic - onde você compartilha seu saber...
  4. Postagem - Campo inteiro que indica quantas mensagens já foram postadas.
  5. UltimaPostagem - Campo tipo Data que indica a data e a hora da última postagem.

A tabela mensagens irá conter as informações sobre as mensagens postadas e as respostas enviadas e terá a seguinte estrutura:

  1. MensagemID - Campo Autonumeração e chave primária , contendo um número inteiro que irá identificar cada mensagem.
  2. ForumID - Campo Inteiro Longo - Chave Estrangeira - que identificará a que fórum a mensagem pertence. (No nosso caso estamos criando apenas um fórum.). Este campo será indexado com duplicação autorizada.
  3. EmRespostaA - Campo inteiro Longo que indicará que a mensagem é uma resposta a mensagem indica por este número. Este campo será indexado com duplicação autorizada.
  4. PostadaPor - Campo Texto que indica o nome de quem postou a mensagem
  5. Email - Campo Texto que fornece o email de quem postou a mensagem.
  6. Assunto - Campo Texto que indica o assunto da mensagem
  7. CorpoMensagem - Campo tipo Memorando que contém a mensagem postada.
  8. Data - Campo tipo Data informando a data e hora da postagem.

Na figura abaixo temos a tabela já criada no Access:

Pronto ! Já temos o nosso banco de dados e as tabelas para armazenar os dados do fórum. Vamos tratar agora de um assunto importante: a localização e a conexão com o banco de dados.

Montando o seu Fórum - A localização e a conexão com o banco de dados.

O banco de dados que você criou deverá ser colocado no servidor da web - o Brinkster . Você já possui o seu endereço no site e o seu espaço para poder enviar os arquivos que comporão o site. Eu recomendo que você crie uma estrutura de diretórios no servidor para poder armazenar os arquivos do seu site. Assim você pode criar um diretório chamado HTML para armazenar os arquivos com extensão .htm , outro diretório chamado ASP para armazenar os arquivos com extensão .asp, e assim por diante...

Mas onde você deverá colocar o banco de dados ? Qual diretório ? Bem ,  neste diretório você terá que ter permissão para escrever e ler dados no banco de dados; o administrador do servidor irá lhe indicar o nome deste diretório. Ele irá te dizer assim : o diretório onde você vai colocar o banco de dados é XXXXXX

E como você faz para acessar este banco de dados ? Qual a string de conexão ?  Esta string será fornecida pelo brinkster e será algo parecido com:(o brinkster não suporta o uso de provedores OLE DB)

"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\seu_nome\XXX\forum.mdb")

onde: 

Agora só falta montar o código que irá fazer o fórum funcionar. Veremos isto na segunda parte deste artigo: ASP e ADO - Fórum Visual Basic - Parte II

Até lá...

Referências:


José Carlos Macoratti