SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
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)

Weitere ähnliche Inhalte

Was ist angesagt?

Sistemas Gestores de Base de Datos
Sistemas Gestores de Base de DatosSistemas Gestores de Base de Datos
Sistemas Gestores de Base de DatosJorge Luis Chalén
 
Presentación sgbd
Presentación sgbdPresentación sgbd
Presentación sgbdSergio Cano
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Sistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datosSistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datosJesús Tramullas
 
Gestor de almacenamiento
Gestor de almacenamientoGestor de almacenamiento
Gestor de almacenamientoCarlos Mila
 
Administracion de la seguridad de sql server
Administracion de la seguridad de sql serverAdministracion de la seguridad de sql server
Administracion de la seguridad de sql serverana leydi linares serrano
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Historia de la base de datos
Historia de la base de datos Historia de la base de datos
Historia de la base de datos MelaniLoza
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionsandrikarina
 
Exposicion base datos
Exposicion  base datosExposicion  base datos
Exposicion base datosUNEFA
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datoshugodanielgd
 

Was ist angesagt? (20)

Sistemas Gestores de Base de Datos
Sistemas Gestores de Base de DatosSistemas Gestores de Base de Datos
Sistemas Gestores de Base de Datos
 
Presentación sgbd
Presentación sgbdPresentación sgbd
Presentación sgbd
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Oracle
OracleOracle
Oracle
 
Sistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datosSistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datos
 
Ado net
Ado netAdo net
Ado net
 
Gestor de almacenamiento
Gestor de almacenamientoGestor de almacenamiento
Gestor de almacenamiento
 
Administracion de la seguridad de sql server
Administracion de la seguridad de sql serverAdministracion de la seguridad de sql server
Administracion de la seguridad de sql server
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Historia de la base de datos
Historia de la base de datos Historia de la base de datos
Historia de la base de datos
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Odbc
OdbcOdbc
Odbc
 
Exposicion base datos
Exposicion  base datosExposicion  base datos
Exposicion base datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 

Andere mochten auch

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
 

Andere mochten auch (13)

Jdbc
JdbcJdbc
Jdbc
 
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
 

Ähnlich wie 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)