Uma introdução à classe ADODB
Geralmente nos enganamos ao desenvolver uma aplicação sem pensar no futuro. Não é impossível que o banco de dados que você usa hoje torne-se inviável no futuro e você precise reescrever sua aplicação para utilizar outro banco. É justamente aí que usar uma classe bem desenhada para bancos de dados faz toda a diferença.
Uma introdução à classe ADODB
Como usar ADODB
Geralmente o iniciante (não só o iniciante) engana-se ao desenvolver uma aplicação sem qualquer consideração com o futuro. Não é impossível que o banco de dados que você usa hoje torne-se inviável no futuro e você precise reescrever sua aplicação para utilizar outro banco e as funções do PHP não facilitam sua vida caso isso venha a acontecer (são funções diferentes para cada banco).
Neste caso é necessário percorrer todo o código do projeto alterando as funções e às vezes até mudando a sintaxe das queries, o que não é uma tarefa muito agradável, podendo deixar a aplicação ligada de uma forma errada ao banco, causando instabilidade e perda de performance.
É justamente aí que usar uma classe bem desenhada para bancos de dados faz toda a diferença. Ela permite que você altere o banco de dados com o mínimo de esforço, usando algumas funções que definem a escolha que você faz, mudando apenas um parâmetro que define o banco de dados a utilizar, em ADODB basta mudar a seguinte linha:
$DB=NewADOConnection('access');
para
$DB=NewADOConnection('mysql');
e pronto!! Você já deu o primeiro passo para upgrade.
Já trabalhei com várias classes com a mesma função, mas este artigo irá focar particularmente a que eu mais gosto: ADODB.
ADODB atualmente suporta: MySQL, PostgreSQL, Interbase, Firebid, Informix, Oracle, MS SQL7, FoxPro, Access, ADO, Sybase, Frontbase, DB2 e ODBC genérico. Se seu banco de dados não está aqui você poderá utilizá-lo genericamente, mas tenho certeza que não demorará muito e ele será adicionado.
Instalando o ADODB
Instalar ADODB é extremamente fácil, primeiro tenha certeza que você está usando PHP versão 4.0.4 ou posterior. Se você não está, recomendo um upgrade urgente!
Faça o download da classe em http://weblogs.com#download.
Descompacte o arquivo em um diretório de sua escolha.
Testando sua instalação
Conectar é igualmente fácil. Você pode testar sua instalação com essas 3 linhas de código substituindo os valores das variáveis pelos seus:
include("$adodb_path/adodb.inc.php");
$db=NewADOConnection("seu_banco");
$db -> connect('$host','$user','$pass','$nome_do_banco')
$db=NewADOConnection("seu_banco");
$db -> connect('$host','$user','$pass','$nome_do_banco')
Agora você tem um objeto de conexão ao banco, você também pode usar ADONewConnection no lugar de NewADOConnection, são nomes diferentes para a mesma função.
As variáveis de conexão mudam de acordo com as configurações da instalação e o banco desejado, veja abaixo os valores para bancos:
- access (Microsoft Access/Jet)
- ado (ADO genérico, a base para todos os outros drivers ADO)
- ado_access (Microsoft Access/Jet usando ADO)
- ado_mssql (Microsoft SQL Server usando ADO)
- db2 (DB2)
- vfp (Microsoft Visual FoxPro)
- fbsql (FrontBase)
- ibase (Interbase 6 ou posterior)
- firebird (Firebird)
- informix72 (Informix depois da versão 7.2)
- informix (Informix)
- maxsql (MySQL com suporte a transação)
- mssql (Microsoft SQL Server 7)
- mssqlpo (Driver portatil do Mssql)
- mysql (MySQL sem suporte a transação)
- mysqlt (MySQL com suporte a transação, idêntico a maxsql)
- oci8 (Oracle 8/9)
- oci805 (Oracle 8.0.5)
- oci8po (Oracle 8/9 portátil)
- odbc (ODBC genérico, a base para todos os drivers ODBC)
- odbc_mssql (MSSQL via ODBC)
- odbc_oracle (Oracle via ODBC)
- oracle (Oracle 7)
- postgres (PostgreSQL)
- postgres64 (PostgreSQL 6.4)
- postgres7 (PostgreSQL 7, atualmente igual a postgres)
- sqlanywhere (Sybase SQL Anywhere)
- sybase (Sybase)