1. Introducción al Manejo
de Bases de Datos
ODBC con PHP
Prof. Víctor Manuel
Evaristo Salinas
2. ¿Qué es ODBC?
Open DataBase Conectivity (ODBC) es un
desarrollo de Microsoft que se ha convertido en
estándar, para el acceso a través de él a gran
cantidad de tipos de datos.
Básicamente, por tanto, cualquier aplicación simple
que emplee ODBC puede acceder a las Bases de
datos soportadas por este estándar.
El funcionamiento es: la aplicación sólo necesita
comunicarse con un paquete de archivos (ODBC), e
instantáneamente puede trabajar con cualquier tipo
de datos soportados por este paquete.
3. ¿Qué es ODBC?
Hay dos posibles accesos a la Base de datos (DIRECTO e
INDIRECTO) el que denomino DIRECTO consiste en que
normalmente, una compañía diseña una aplicación que
accederá a datos.
Esta aplicación se desarrolla hacia un tipo de datos, y por
tanto sólo se implementa el acceso para ese tipo de datos.
Si se requiere acceso a otro DBMS, es necesario por
tanto, implementar un nuevo controlador o driver de
acceso.
Este sistema hace que el acceso sea directo a la Base de
datos, pero tiene el inconveniente de que hay que
desarrollar el enlace para cada DBMS que se quiera
soportar.
4. ¿Qué es ODBC?
Otro posible acceso es el INDIRECTO, es decir, si el
DBMS posibilita que con ODBC puedan ser accedidos
los datos, es decir funciona con lo que se denomina
ODBC data source, (o fuente de datos ODBC) la
aplicación accede a través del paquete de archivos
ODBC "indirectamente", y si añadimos que ODBC es
soportado por los DBMS más comunes, con una misma
aplicación y con un mismo paquete de drivers, podremos
acceder a todas las DBMS sin necesidad de hacer un
desarrollo para cada tipo.
5. Ventajas del uso de acceso indirecto
Quizás, la mayor ventaja es que el acceso
a datos a través del ODBC permite el
poder gestionar un amplio rango de datos
con una sola interfase.
Desde que los más populares DBMS
ofrecen drivers ODBC, muchas son las
aplicaciones que lo incluyen como drivers
de acceso.
6. Ventajas del uso de acceso indirecto
Otra ventaja es que al poderse variar la fuente de
datos, el cambio de una DBMS a otra es simplista.
Por ejemplo, si se diseña un informe usando Oracle
Data source, y más tarde, la empresa decide
cambiar a Microsoft SQL Server, simplemente con
cambiar el ODBC data source usado por el informe,
se accede a la nueva DBMS.
El único requerimiento es que la nueva fuente de
datos ha de tener la misma estructura de tablas y
campos que la fuente de datos original.
7. Desventajas del uso de acceso
indirecto
La principal desventaja son las capas a través de las cuales
tiene que pasar la consulta, esto hace que el tiempo de
respuesta hasta que se obtienen los datos se incremente.
El proceso es que la petición ha de "traducirse" a ODBC, para
que éste entienda la consulta.
ODBC determina que fuente de datos contiene los datos que
se piden y transmite la petición a la siguiente capa que es la
fuente de datos ODBC (ODBC data source).
La fuente de datos analiza la petición y "traduce" de nuevo la
consulta a un formato que pueda ser "comprendido" por la
DBMS.
Este complejo proceso puede verse alterado por cualquier
fallo en cualquiera de sus fases y por tanto la consulta no
tendría éxito.
10. Agregar un registro
<?
$conexion = odbc_connect(“TEC","","","");
$rs= odbc_exec($conexion,"select * from alumnos");
$sql="insert into alumnos (no_control, nombre,
direccion, ciudad,estado,sexo,edad)
values(‘06350452',‘Jose A. Zamudio
Polo‘,’Conocido’,’Guaymas’,’Sonora’,’M’,18)";
$rs=odbc_exec($conexion,$sql);
odbc_close_all();
?>
11. Modificar un registro
<?
$conexion = odbc_connect(“seresc","","","");
$rs= odbc_exec($conexion,"select * from
alumnos");
$sql=" update alumnos set alu_dir=‘Av. Jesus
Carranza No.123‘ where alu_ctr=‘06350424’";
$rs=odbc_exec($conexion,$sql);
odbc_close_all();
?>
12. Eliminar un registro
<?
$conexion = odbc_connect(“seresc","","","");
$rs= odbc_exec($conexion,"select * from alumnos");
$sql=" delete from alumnos where
alu_ctr=‘06350424'";
$rs=odbc_exec($conexion,$sql);
odbc_close_all();
?>