La mayor comunidad de Debian en español

Instalacion Adodb Para Debian


Imagen de pipis384mix

By pipis384mix- Publicado26 Abril 2008

Parte I
El articulo es para aquellas personas que programen en PHP y utilicen gestores de bases datos libres como mysql y postgresql

no explicare la instalación de postgres apache y mysql hay infinidad de artículos solo hay que asegurarnos de tener las extensiones habilitadas en este archivo
/etc/phpX/apacheXX/php.ini
asegurarnos de tener las extensiones habilitadas

; Example lines:

extension=pgsql.so
extension=mysql.so
extension=gd.so

librería de abstracción de Base de Datos para PHP y Python.
Esta permite a los programadores desarrollar aplicaciones web de una manera potable ,rápida y fácil. La ventaja reside en que la base de datos puede cambiar sin necesidad de reescribir cada llamado a la base de datos realizado por la aplicación. Soporta las siguientes bases de datos:
MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MSSQL, Foxpro,Access,Sybase, FrontBase,DB2, SAPDB,SQLite, Netezza,LDAP.

apt-get install libphp-adodb

Una vez ejecutado este comando procedemos a configurar .Se instala en el siguiente directorio /usr/share/php/adodb necesitamos hacer un enlace a la carpeta /var/www/

ln -s /usr/share/php/adodb/ /var/www/adodb

Requerimos configurar php.ini

gedit /etc/php5/apache2/php.ini

Necesitamos configurar el path buscamos las siguientes lineas:

include_path = “.:/usr/share/php” //línea sin editar

include_path = “.:/usr/share/php:/usr/share/php/adodb”

//línea editada
Ahora solo queda hacer lo siguiente :

/etc/init.d/apache2 reload

Parte II
Uso de adodb para poder realizar consultas necesitas hacer dos archivos que invoquen a las funciones principales de adodb para que haga el trabajo por ti
creamos cabdat.inc.php

<?php
require_once('/usr/share/php/adodb/adodb.inc.php');

define('dbname','Nombre_bd');
define('dbuser','passwd');
define('dbpasw','passwd');
define('dbhost','localhost_o_direccion_ip');
define('dbtipo','mysql');
?>

La primera linea es muy importante hace referencia al primer archivo del ADODB que se encarga de la conexión y también se encarga de enlazarse a una cadena de archivos que podremos utilizar sus funciones el siguiente archivo se llama CDatos.class.php este archivo consta de varias funciones que sirven para conectarse y hacer consultas
CDatos.class.php

<?php
require_once('cabdat.inc.php');

require_once('/usr/share/php/adodb/adodb.inc.php');

class CDatos
{
var $obj;
var $Res;
var $Con;
public function AbrirConexion()
{
try
{
$this->obj =NewADOConnection(dbtipo);
$this->obj->Connect(dbhost,dbuser,dbpasw,dbname);
}
catch(exception $ex)
{
print_r($ex);
}
}
public function CerrarConexion()
{
try
{
$this->obj->close();
}
catch(exception $ex)
{
print_r($ex);
}
}

public function Consulta($sql)
{
$this->Res= null;
try
{
$this->Res = $this->obj->getArray($sql);
}
catch(exception $ex)
{
print_r($ex);
}
return $this->Res;
}

public function ConIUD($sql)
{
try
{
$this->Con=$this->obj->Execute($sql);
}
catch(exception $ex)
{
print_r($ex);
}
return $this->Con;
}

public function NumFilas()
{
try
{
$this->Res=$this->Con->RecordCount();
}
catch(exception $ex)
{
print_r($ex);
}
return $this->Res;
}
}
?>

En esta pagina las dos primera lineas incluyen la primera pagina de conexión del adodb y los datos de conexión de la base de datos tenemos la función AbrirConexion() y CerrarConexion() seguidamente tenemos las funciones para abrir y cerrar la conexión seguidamente Consulta() y ConsultaUI() la diferencia entre estas es muy clara ConsultaUl Lo que ejecuta es una consulta que pueda ser de tipo UPDATE e INSERT DROP ,etc en esta consulta se puede hacer toda clase de consultas excepto la SELECT la función Consulta() es justamente para hacer consultas de tipo Select veremos un ejemplo de lo fácil que es programar utilizando esta librería aqui un ejemplo de inserción a tablas

es importante especificar que en cada pagina que programemos necesitamos incluir este archivo
require_once('/var/www/xxxxx/CDatos.class.php');
este archivo invoca a el primer archivo que creamos y este primer archivo interactúa con el archivo de inicio de adodb que permite conectarnos a diferentes bases de datos

<?php
require_once('/var/www/xxxxx/CDatos.class.php');//requerido
//conecta todo el adodb con lo que hacemos

function insertar()
{
$Variable1=$_POST["$Variable1"];
$Variable2=$_POST["$Variable2"];
$Variable3=$_POST["$Variable3"];

$sql = "insert into Tabla (Campo1,Campo2,Campo3)";
$sql.="values ('$Variable1','$Variable2','$Variable3')";

if ($id!='')
{
$obj = new CDatos();// accedemos a la clase
$obj->AbrirConexion();
$obj->ConIUD($sql); //enviamos toda la consulta al ADODB .Aqui básicamente insertamos
$obj->CerrarConexion();
echo "Se inserto";
}
else
echo "No se Pudo Insertar"; //mensaje de error

}
?>

esto seria todo si deseas conectarte con mas bases de datos solo tienes que buscar el nombre que utiliza adodb para conectarse a estas bases de datos y agregarlo en el archivo
cabdat.inc.php
cambiando principalmente esta linea
define('dbtipo','oci8');//este caso para oracle
define('dbtipo','postgres'); //y este para postgres
ahorra trabajo y se puede programar deferente como se dice. no tengo referencias ya que me base en experiencia propia
saludos

Tags
Imagen de ZiTAL

Pongo otro ejemplo:
[code]
<?php
require_once('adodb.inc.php');

$server='host';
$user='user';
$pwd='pass';
$db='DB name';

$DB = NewADOConnection('mysql');
$DB->Connect($server, $user, $pwd, $db);

$rs = $DB->Execute("select * from tabla");
foreach ($rs as $row) {
echo '<pre>';
print_r($row);
echo '</pre>';
}
echo $rs->RecordCount();
?>
[/code]

Pero la verdad es que es MUY LENTO en hacer las query's. Al parecer hay otra libreria la pdo que ya lo trae php5 por defecto y es más rápido, voy a mirarlo.

---
http://zital.no-ip.org

Imagen de ZiTAL

Para PDO que viene en el nucleo de php5

http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html

No hay que tocar nada, lo he probado y en mysql por ejemplo va mas rapido que adodb, pero bueno no esta mal tener una alternativa.

---
http://zital.no-ip.org

Imagen de pipis384mix

Respuesta a Para PDO que viene en

hola bueno realmente no e verificado la velocidad ... aunque es un buen detalle pero aqui
http://www.antacobre.com/
les dejo una dirección que programe con unos amigos de la universidad utilizando esta tecnología bueno no sentí la diferencia si verifican la pagina demora algo en cargar es por que le adjuntamos una canción , pero al momento de programar no senti realmente la diferencia , tendré que ver para confirmar si demora en hacer los querys
saludos

---
La perseverancia es el primer paso al éxito



Buscador

Búsqueda personalizada

Inicio de sesión

En línea

En este momento hay 10 usuarios y 70 invitados en línea.