SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
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)

Mais conteúdo relacionado

Mais procurados

Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreFportavella
 
Jerarquia de la memoria
Jerarquia de la memoria Jerarquia de la memoria
Jerarquia de la memoria Fabian Rojas
 
Sgbd comerciales vs libres
Sgbd comerciales vs libresSgbd comerciales vs libres
Sgbd comerciales vs libresMadai Angeles
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Entidad relacion extendido resumen
Entidad relacion extendido resumenEntidad relacion extendido resumen
Entidad relacion extendido resumen15e1a
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosChristian19121
 
Cuadro comparativo de sistemas operativos
Cuadro comparativo de sistemas operativosCuadro comparativo de sistemas operativos
Cuadro comparativo de sistemas operativospanda_emilly123
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datosGalo Anzules
 
Base de datos
Base de datosBase de datos
Base de datosDavid
 
Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)angeljlp08
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Sistemas operativos multimedia
Sistemas operativos multimediaSistemas operativos multimedia
Sistemas operativos multimediaDavid Gutierrez
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 

Mais procurados (20)

Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libre
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Jerarquia de la memoria
Jerarquia de la memoria Jerarquia de la memoria
Jerarquia de la memoria
 
Sgbd comerciales vs libres
Sgbd comerciales vs libresSgbd comerciales vs libres
Sgbd comerciales vs libres
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Entidad relacion extendido resumen
Entidad relacion extendido resumenEntidad relacion extendido resumen
Entidad relacion extendido resumen
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Cuadro comparativo de sistemas operativos
Cuadro comparativo de sistemas operativosCuadro comparativo de sistemas operativos
Cuadro comparativo de sistemas operativos
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datos
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)
 
Sesion12-componentes Visuales java
Sesion12-componentes Visuales javaSesion12-componentes Visuales java
Sesion12-componentes Visuales java
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Diseño de bases de datos
Diseño de bases de datosDiseño de bases de datos
Diseño de bases de datos
 
Sistemas operativos multimedia
Sistemas operativos multimediaSistemas operativos multimedia
Sistemas operativos multimedia
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 

Destaque

Qué es jdbc
Qué es jdbcQué es jdbc
Qué es jdbcJesus NM
 
Masterclass PHP 5.3
Masterclass PHP 5.3Masterclass PHP 5.3
Masterclass PHP 5.3ADWE Team
 
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 AlfrescoGustavo Lacoste
 
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 ODBCOrlando Alemán
 
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 novioRodolfo Pilas
 
Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Victor M. Fernández
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de DatosRonny Parra
 

Destaque (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
 

Semelhante a 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)