SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
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)

Más contenido relacionado

La actualidad más candente

ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
Tutorial-StarUML.pdf
Tutorial-StarUML.pdfTutorial-StarUML.pdf
Tutorial-StarUML.pdfNone
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.camilaml
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NETDavid
 
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
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSevavivez
 
Base de datos móviles
Base de datos móvilesBase de datos móviles
Base de datos móvilesthgnj dfg
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAGabriel Suarez
 
INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDADINTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDADelylupita
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasMoposita1994
 

La actualidad más candente (20)

ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Base de datos relacionales
Base de datos relacionalesBase de datos relacionales
Base de datos relacionales
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
Tutorial-StarUML.pdf
Tutorial-StarUML.pdfTutorial-StarUML.pdf
Tutorial-StarUML.pdf
 
3.1.6 espacio para objetos
3.1.6 espacio  para objetos3.1.6 espacio  para objetos
3.1.6 espacio para objetos
 
Clase 14b uml_actividades
Clase 14b uml_actividadesClase 14b uml_actividades
Clase 14b uml_actividades
 
Origen y evolucion de las redes
Origen y evolucion de las redesOrigen y evolucion de las redes
Origen y evolucion de las redes
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
 
Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)Diapositivas sobre BD (Base de Datos)
Diapositivas sobre BD (Base de Datos)
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMS
 
Base de datos móviles
Base de datos móvilesBase de datos móviles
Base de datos móviles
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
 
INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDADINTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
 

Destacado

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
 

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

Similar 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)