SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Introducción al Manejo
         de Bases de Datos
         ODBC con PHP

Prof. Víctor Manuel
Evaristo Salinas
¿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.
¿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.
¿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.
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.
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.
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.
Ejemplo del manejo de
  bases de datos de
  Microsoft Access
    usando ODBC
Conectarse
<?
$conexion = odbc_connect(“TEC","","","");
$res=odbc_exec($conexion,"select * from alumnos");
while (odbc_fetch_row($res))
{
echo odbc_result($res,“No_Control");
echo $nombre=odbc_result($res,“Nombre”);
}
odbc_close_all();
?>
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();
?>
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();
?>
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();
?>
Algunas funciones mas…
•(int) odbc_autocommit($connection_id, $OnOff)
•(void) odbc_close($connection_id)
•(void) odbc_close_all(void)
•(int) odbc_commit($connection_id)
•(int) odbc_connect($dsn, $user, $password)
•(int) odbc_pconnect($dsn, $user, $password)
•(string) odbc_cursor($result_id)
•(int) odbc_do($connection_id, $query_string)
•(int) odbc_exec($connection_id, $query_string)
•(int) odbc_prepare($connection_id, $query_string)
•(int) odbc_execute($result_id, $array)
Algunas funciones mas…
•(int) odbc_fetch_row($result_id, $row_number)
•(int) odbc_fetch_into($result_id, $row_number, $array_ptr)
•(int) odbc_field_len($result_id, $field_number)
•(string) odbc_field_name($result_id, $field_number)
•(string) odbc_field_type($result_id, $field)
•(int) odbc_free_result($result_id)
•(int) odbc_num_fields($result_id)
•(int) odbc_num_rows($result_id)
•(string) odbc_result($result_id, $field)
•(int) odbc_result_all($result_id, $format)
•(int) odbc_rollback($connection_id)

Contenu connexe

Tendances

Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libre
Fportavella
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xml
itsl
 

Tendances (20)

macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Clase 14b uml_actividades
Clase 14b uml_actividadesClase 14b uml_actividades
Clase 14b uml_actividades
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libre
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
C. comparativo servidores & servicios
C. comparativo servidores & serviciosC. comparativo servidores & servicios
C. comparativo servidores & servicios
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Cuadro sinoptico osvaldo herrera
Cuadro sinoptico   osvaldo herreraCuadro sinoptico   osvaldo herrera
Cuadro sinoptico osvaldo herrera
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xml
 
Modelo Entidad Relacion
Modelo Entidad RelacionModelo Entidad Relacion
Modelo Entidad Relacion
 
Tabla comparativa servidores web
Tabla comparativa servidores webTabla comparativa servidores web
Tabla comparativa servidores web
 
Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para Dummies
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 

En vedette

En vedette (14)

Jdbc
JdbcJdbc
Jdbc
 
Odbc
OdbcOdbc
Odbc
 
Odbc
OdbcOdbc
Odbc
 
Qué es jdbc
Qué es jdbcQué es jdbc
Qué es jdbc
 
Masterclass PHP 5.3
Masterclass PHP 5.3Masterclass PHP 5.3
Masterclass PHP 5.3
 
Bd web
Bd webBd web
Bd web
 
Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
T8 cgi applets...
T8 cgi applets...T8 cgi applets...
T8 cgi applets...
 
Integración de CentOS 5.3, GlassFish,Liferay, OpenMRS y Alfresco
Integración de CentOS 5.3, GlassFish,Liferay, OpenMRS y AlfrescoIntegración de CentOS 5.3, GlassFish,Liferay, OpenMRS y Alfresco
Integración de CentOS 5.3, GlassFish,Liferay, OpenMRS y Alfresco
 
Bases de datos de la web 3
Bases de datos de la web 3Bases de datos de la web 3
Bases de datos de la web 3
 
Conexión a SQL Server con C#.NET a través de ODBC
Conexión a SQL Server con C#.NET a través de ODBCConexión a SQL Server con C#.NET a través de ODBC
Conexión a SQL Server con C#.NET a través de ODBC
 
Virtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novioVirtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novio
 
Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 

Similaire à Phpy odbc

Inglan
InglanInglan
Inglan
asir2
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas
 

Similaire à Phpy odbc (20)

Qué es el odbc
Qué es el odbcQué es el odbc
Qué es el odbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Inglan
InglanInglan
Inglan
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Programa yaaaa
Programa yaaaaPrograma yaaaa
Programa yaaaa
 
JDBC
JDBCJDBC
JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Odbc jdbc
Odbc   jdbcOdbc   jdbc
Odbc jdbc
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
Jdbc
JdbcJdbc
Jdbc
 
tecnología de conectividad de datos
tecnología de conectividad de datostecnología de conectividad de datos
tecnología de conectividad de datos
 
Percy zelada
Percy zeladaPercy zelada
Percy zelada
 

Phpy odbc

  • 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.
  • 8. Ejemplo del manejo de bases de datos de Microsoft Access usando ODBC
  • 9. Conectarse <? $conexion = odbc_connect(“TEC","","",""); $res=odbc_exec($conexion,"select * from alumnos"); while (odbc_fetch_row($res)) { echo odbc_result($res,“No_Control"); echo $nombre=odbc_result($res,“Nombre”); } odbc_close_all(); ?>
  • 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(); ?>
  • 13. Algunas funciones mas… •(int) odbc_autocommit($connection_id, $OnOff) •(void) odbc_close($connection_id) •(void) odbc_close_all(void) •(int) odbc_commit($connection_id) •(int) odbc_connect($dsn, $user, $password) •(int) odbc_pconnect($dsn, $user, $password) •(string) odbc_cursor($result_id) •(int) odbc_do($connection_id, $query_string) •(int) odbc_exec($connection_id, $query_string) •(int) odbc_prepare($connection_id, $query_string) •(int) odbc_execute($result_id, $array)
  • 14. Algunas funciones mas… •(int) odbc_fetch_row($result_id, $row_number) •(int) odbc_fetch_into($result_id, $row_number, $array_ptr) •(int) odbc_field_len($result_id, $field_number) •(string) odbc_field_name($result_id, $field_number) •(string) odbc_field_type($result_id, $field) •(int) odbc_free_result($result_id) •(int) odbc_num_fields($result_id) •(int) odbc_num_rows($result_id) •(string) odbc_result($result_id, $field) •(int) odbc_result_all($result_id, $format) •(int) odbc_rollback($connection_id)