SlideShare una empresa de Scribd logo
1 de 21
Docente :Ing. Marco Aurelio Porro Chulli.
Asignatura :Laboratorio de Programación III.
Ciclo : VII “A”
Integrante:
• Yenny Isabel Cuello Morón.
• Vicente Wualdir Alberca Rojas.
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
JDBC
INTRODUCCIÓN
• Tener conocimientos de SQL es una necesidad para cualquier profesional de las
tecnologías de la información (TI). A medida que el desarrollo de sitios web se
hace más común entre personas sin conocimientos de programación, el tener
una cierta noción de SQL se convierte en requisito indispensable para integrar
datos en páginas HTML. La mayoría de los fabricantes ofrecen APIs nativas para
acceder a sus bases de datos, sin embargo, el hecho de utilizar estas APIs, obliga
a los programadores a adaptar cada programa a las características de un servidor
determinado.
• Para solventar este problema, Java introduce la API JDBC, [2] [11] [17] [24]
compuesta por un conjunto de clases que unifican el acceso a las bases de
datos. Gracias a la utilización de JDBC, un programa Java puede acceder a
cualquier base de datos sin necesidad de modificar la aplicación. Sin embargo,
para que esto sea posible es necesario que el fabricante ofrezca un driver que
cumpla la especificación JDBC.
Capa de Acceso de datos, creación
Toda la conectividad de bases de datos de Java se
basa en sentencias SQL, por lo que se hace
imprescindible un conocimiento adecuado de SQL
para realizar cualquier clase de operación de bases
de datos. Aunque, afortunadamente, casi todos los
entornos de desarrollo Java ofrecen componentes
visuales que proporcionan una funcionalidad
suficientemente potente sin necesidad de que sea
necesario utilizar SQL, La especificación JDBC
requiere que cualquier driver JDBC sea compatible
con al menos el nivel «de entrada» de ANSI SQL 92
(ANSI SQL 92 Entry Level).
Acceso de JDBC a Bases de Datos
El API JDBC soporta dos modelos diferentes de
acceso a Bases de Datos, los modelos de dos y
tres capas.
Modelo de dos capas
Este modelo se basa en que la conexión entre la
aplicación Java o el applet que se ejecuta en el
navegador, se conectan directamente a la base
de datos.
Esto significa que el driver JDBC
específico para conectarse con la
base de datos, debe residir en el
sistema local.
Modelo de tres capas
En este modelo de acceso a las bases de
datos, las instrucciones son enviadas a una
capa intermedia entre Cliente y Servidor,
que es la que se encarga de enviar las
sentencias SQL a la base de datos y recoger
el resultado desde la base de datos. En este
caso el usuario no tiene contacto directo, ni
a través de la red, con la máquina donde
reside la base de datos.
Configuración de conexión BD con
NetBeans.
• Primero descargamos el controlador JDBC para SQL Server, nos dirigimos al siguiente
enlace: descargar JDBC.
• Una vez ingresemos a la página indicada, tenemos dos versiones para descargar,
una .exe y otro .tar.gz, ambos son iguales solo que el archivo .exe se extraerá
automáticamente al darle doble clic.
• Una vez lo tengamos descargado, los descomprimimos y guardamos en una carpeta de
nuestra preferencia.
• Creamos nuestra aplicación Java, en mi caso usaré el IDE Netbeans 8.x.
Para conectarnos necesitaremos en siguiente código java:
try {
String connectionUrl =
"jdbc:sqlserver://;database=DB_Name;integratedSecurity=true;";
conect = DriverManager.getConnection(connectionUrl);
System.out.println("Conectado.");
}
catch (SQLException ex)
{
System.out.println("Error.");
}
 DB_Name es el nombre de la base de datos a la que deseamos conectarnos, la cual hemos
creado previamente con SQL Server.
 integratedSecurity=true establece que usaremos la autenticación integrada de Windows, si lo
deseamos podemos conectarnos a la base de datos con el nombre y contraseña de un usuario
válido.
Para que el código que acabamos de agregar funcione debemos añadir el JDBC que
descargamos a nuestro proyecto java, hacemos lo siguiente:
Con esto al ejecutar el
programa veremos el
mensaje: "conectado", si todo
ha salido bien.
DEFINICION
JDBC (Java DataBase Connectivity) es un API de Java
que permite al programador ejecutar instrucciones en
lenguaje estándar de acceso a Bases de Datos, SQL
(Structured Query Language, lenguaje estructurado de
consultas), que es un lenguaje de muy alto nivel que
permite crear, examinar, manipular y gestionar Bases de
Datos relacionales.
Para que una aplicación pueda hacer operaciones en una Base de Datos, ha
de tener una conexión con ella, que se establece a través de un driver, que
convierte el lenguaje de alto nivel a sentencias de Base de Datos. Es decir, las
tres acciones principales que realizará JDBC :
 establecer la conexión a una base de datos, ya sea remota o no.
 enviar sentencias SQL a esa base de datos.
 procesar los resultados obtenidos de la base de datos.
TIPOS DE DRIVERS JDBC
Puente JDBC-ODBC
La primera categoría de drivers es la
utilizada por Sun inicialmente para
popularizar JDBC y consiste en
aprovechar todo lo existente,
estableciendo un puente entre JDBC
y ODBC. Este driver convierte todas
las llamadas JDBC a llamadas
ODBC y realiza la conversión
correspondiente de los resultados.
Java/Binario
Este driver se salta la capa ODBC y habla
directamente con la librería nativa del
fabricante del sistema DBMS (como
pudiera ser DB-Library para Microsoft SQL
Server o CT-Lib para Sybase SQL Server).
Este driver es un driver 100% Java pero
aún así necesita la existencia de un código
binario (la librería DBMS) en la máquina
del cliente, con las limitaciones y
problemas que esto implica.
100% Java/Protocolo nativo
Es un driver realizado completamente en
Java que se comunica con el servidor
DBMS utilizando el protocolo de red
nativo del servidor. De esta forma, el
driver no necesita intermediarios para
hablar con el servidor y convierte todas
las peticiones JDBC en peticiones de
red contra el servidor.
100% Java/Protocolo independiente
Esta es la opción más flexible, se trata de
un driver 100% Java /Protocolo
independiente, que requiere la presencia
de un intermediario en el servidor. En este
caso, el driver JDBC hace las peticiones de
datos al intermediario en un protocolo de
red independiente del servidor DBMS. El
intermediario a su vez, que está ubicado en
el lado del servidor, convierte las peticiones
JDBC en peticiones nativas del sistema
DBMS.
APLICACIONES
En las aplicaciones JDBC, puede almacenar en columnas XML y recuperar datos
de columnas XML.
En las tablas de base de datos, se utiliza el tipo de datos incorporado XML para
almacenar datos XML en una columna en forma de conjunto estructurado de
nodos en formato de árbol.
Las aplicaciones JDBC pueden enviar datos XML al servidor de datos o recuperar
datos XML del servidor de datos de una de estas maneras:
 Como datos XML textuales
 Como datos XML binarios, si el servidor de datos los admite
En las aplicaciones JDBC, puede:
 Almacenar un documento XML completo en una columna XML mediante los
métodos setXXX.
 Recuperar un documento XML completo de una columna XML mediante los
métodos getXXX.
 Recuperar una secuencia de un documento en una columna XML mediante la
función XMLQUERY de SQL para recuperar la secuencia en una secuencia
serializada en la base de datos y, a continuación, utilizar métodos getXXX para
recuperar los datos en una variable de aplicación.
Recuperar una secuencia de un documento en una columna XML en forma de una
tabla definida por el usuario mediante la función XMLTABLE de SQL para definir la
tabla de resultados y recuperarla.
Ejemplo
Ejemplo 1: Conexión a una base de datos MySQL y consulta de una tabla.
import java.sql.*;
public class EjemploAccesoBD1 {
public static void main(String[] args) {
Connection conexion = null;
try {
// Cargar el driver
Class.forName("com.mysql.jdbc.Driver");
// Se obtiene una conexión con la base de datos.
// En este caso nos conectamos a la base de datos prueba
// con el usuario root y contraseña 1daw
conexion = DriverManager.getConnection("jdbc:mysql://localhost/prueba", "root",
"1daw");
// Se crea un Statement, para realizar la consulta
Statement s = conexion.createStatement();
// Se realiza la consulta. Los resultados se guardan en el ResultSet rs
ResultSet rs = s.executeQuery("select * from persona");
// Se recorre el ResultSet, mostrando por pantalla los resultados.
while (rs.next()) {
System.out.println(rs.getInt("Id") + " " + rs.getString(2) + " " +
rs.getDate(3));
}
} catch (SQLException e) {
System.out.println(e.getMessage());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
} finally { // Se cierra la conexión con la base de datos.
try {
if (conexion != null) {
conexion.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
}
Jdbc

Más contenido relacionado

La actualidad más candente

Fundamentos y metodos de analisis de requerimientos.
Fundamentos y metodos de  analisis de requerimientos.Fundamentos y metodos de  analisis de requerimientos.
Fundamentos y metodos de analisis de requerimientos.raquel yendez avila
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) Germán Sánchez
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchJair Ospino Ardila
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimientoturlahackers
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 

La actualidad más candente (20)

Fundamentos y metodos de analisis de requerimientos.
Fundamentos y metodos de  analisis de requerimientos.Fundamentos y metodos de  analisis de requerimientos.
Fundamentos y metodos de analisis de requerimientos.
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
 
metodologias cascada vs v
metodologias cascada vs vmetodologias cascada vs v
metodologias cascada vs v
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimiento
 
Implementación de hilos
Implementación de hilos Implementación de hilos
Implementación de hilos
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
Ingeniería Web
Ingeniería WebIngeniería Web
Ingeniería Web
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 

Similar a Jdbc (20)

Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)
 
Java Database Connectivity [JDBC]
Java Database Connectivity [JDBC]Java Database Connectivity [JDBC]
Java Database Connectivity [JDBC]
 
Jdbc
JdbcJdbc
Jdbc
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jbdc
JbdcJbdc
Jbdc
 
JDBC
JDBCJDBC
JDBC
 
Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
JCBC
JCBCJCBC
JCBC
 
JDBC (Java Database Connectivity)
JDBC (Java Database Connectivity)JDBC (Java Database Connectivity)
JDBC (Java Database Connectivity)
 
JDBC
JDBCJDBC
JDBC
 
JDBC
JDBCJDBC
JDBC
 
JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 

Más de Vicente Alberca (20)

Oltp exposicion grupal
Oltp exposicion grupalOltp exposicion grupal
Oltp exposicion grupal
 
Copias de seguridad
Copias de seguridadCopias de seguridad
Copias de seguridad
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Administracion de seguridad
Administracion de seguridadAdministracion de seguridad
Administracion de seguridad
 
Trigger-activadores en sql server
Trigger-activadores en sql serverTrigger-activadores en sql server
Trigger-activadores en sql server
 
Cursores
CursoresCursores
Cursores
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas base de datos
Vistas base de datosVistas base de datos
Vistas base de datos
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
 
Ejecutables
EjecutablesEjecutables
Ejecutables
 
Jasreport
JasreportJasreport
Jasreport
 
Objeto sql command
Objeto sql commandObjeto sql command
Objeto sql command
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Epacios nombre system.data.
Epacios nombre system.data. Epacios nombre system.data.
Epacios nombre system.data.
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.
 
Programacion en N-capas
Programacion en N-capasProgramacion en N-capas
Programacion en N-capas
 
Preparestatement
PreparestatementPreparestatement
Preparestatement
 
Diapositiva jtable
Diapositiva jtableDiapositiva jtable
Diapositiva jtable
 

Último

Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptxEfrain Yungan
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxPATRICIAKARIMESTELAL
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347vd110501
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 

Último (20)

Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 

Jdbc

  • 1. Docente :Ing. Marco Aurelio Porro Chulli. Asignatura :Laboratorio de Programación III. Ciclo : VII “A” Integrante: • Yenny Isabel Cuello Morón. • Vicente Wualdir Alberca Rojas. INGENIERÍA DE SISTEMAS Y TELEMÁTICA JDBC
  • 2. INTRODUCCIÓN • Tener conocimientos de SQL es una necesidad para cualquier profesional de las tecnologías de la información (TI). A medida que el desarrollo de sitios web se hace más común entre personas sin conocimientos de programación, el tener una cierta noción de SQL se convierte en requisito indispensable para integrar datos en páginas HTML. La mayoría de los fabricantes ofrecen APIs nativas para acceder a sus bases de datos, sin embargo, el hecho de utilizar estas APIs, obliga a los programadores a adaptar cada programa a las características de un servidor determinado. • Para solventar este problema, Java introduce la API JDBC, [2] [11] [17] [24] compuesta por un conjunto de clases que unifican el acceso a las bases de datos. Gracias a la utilización de JDBC, un programa Java puede acceder a cualquier base de datos sin necesidad de modificar la aplicación. Sin embargo, para que esto sea posible es necesario que el fabricante ofrezca un driver que cumpla la especificación JDBC.
  • 3. Capa de Acceso de datos, creación Toda la conectividad de bases de datos de Java se basa en sentencias SQL, por lo que se hace imprescindible un conocimiento adecuado de SQL para realizar cualquier clase de operación de bases de datos. Aunque, afortunadamente, casi todos los entornos de desarrollo Java ofrecen componentes visuales que proporcionan una funcionalidad suficientemente potente sin necesidad de que sea necesario utilizar SQL, La especificación JDBC requiere que cualquier driver JDBC sea compatible con al menos el nivel «de entrada» de ANSI SQL 92 (ANSI SQL 92 Entry Level).
  • 4. Acceso de JDBC a Bases de Datos El API JDBC soporta dos modelos diferentes de acceso a Bases de Datos, los modelos de dos y tres capas. Modelo de dos capas Este modelo se basa en que la conexión entre la aplicación Java o el applet que se ejecuta en el navegador, se conectan directamente a la base de datos. Esto significa que el driver JDBC específico para conectarse con la base de datos, debe residir en el sistema local.
  • 5. Modelo de tres capas En este modelo de acceso a las bases de datos, las instrucciones son enviadas a una capa intermedia entre Cliente y Servidor, que es la que se encarga de enviar las sentencias SQL a la base de datos y recoger el resultado desde la base de datos. En este caso el usuario no tiene contacto directo, ni a través de la red, con la máquina donde reside la base de datos.
  • 6. Configuración de conexión BD con NetBeans. • Primero descargamos el controlador JDBC para SQL Server, nos dirigimos al siguiente enlace: descargar JDBC. • Una vez ingresemos a la página indicada, tenemos dos versiones para descargar, una .exe y otro .tar.gz, ambos son iguales solo que el archivo .exe se extraerá automáticamente al darle doble clic. • Una vez lo tengamos descargado, los descomprimimos y guardamos en una carpeta de nuestra preferencia. • Creamos nuestra aplicación Java, en mi caso usaré el IDE Netbeans 8.x.
  • 7. Para conectarnos necesitaremos en siguiente código java: try { String connectionUrl = "jdbc:sqlserver://;database=DB_Name;integratedSecurity=true;"; conect = DriverManager.getConnection(connectionUrl); System.out.println("Conectado."); } catch (SQLException ex) { System.out.println("Error."); }
  • 8.  DB_Name es el nombre de la base de datos a la que deseamos conectarnos, la cual hemos creado previamente con SQL Server.  integratedSecurity=true establece que usaremos la autenticación integrada de Windows, si lo deseamos podemos conectarnos a la base de datos con el nombre y contraseña de un usuario válido. Para que el código que acabamos de agregar funcione debemos añadir el JDBC que descargamos a nuestro proyecto java, hacemos lo siguiente:
  • 9. Con esto al ejecutar el programa veremos el mensaje: "conectado", si todo ha salido bien.
  • 10. DEFINICION JDBC (Java DataBase Connectivity) es un API de Java que permite al programador ejecutar instrucciones en lenguaje estándar de acceso a Bases de Datos, SQL (Structured Query Language, lenguaje estructurado de consultas), que es un lenguaje de muy alto nivel que permite crear, examinar, manipular y gestionar Bases de Datos relacionales.
  • 11. Para que una aplicación pueda hacer operaciones en una Base de Datos, ha de tener una conexión con ella, que se establece a través de un driver, que convierte el lenguaje de alto nivel a sentencias de Base de Datos. Es decir, las tres acciones principales que realizará JDBC :  establecer la conexión a una base de datos, ya sea remota o no.  enviar sentencias SQL a esa base de datos.  procesar los resultados obtenidos de la base de datos.
  • 12. TIPOS DE DRIVERS JDBC Puente JDBC-ODBC La primera categoría de drivers es la utilizada por Sun inicialmente para popularizar JDBC y consiste en aprovechar todo lo existente, estableciendo un puente entre JDBC y ODBC. Este driver convierte todas las llamadas JDBC a llamadas ODBC y realiza la conversión correspondiente de los resultados.
  • 13. Java/Binario Este driver se salta la capa ODBC y habla directamente con la librería nativa del fabricante del sistema DBMS (como pudiera ser DB-Library para Microsoft SQL Server o CT-Lib para Sybase SQL Server). Este driver es un driver 100% Java pero aún así necesita la existencia de un código binario (la librería DBMS) en la máquina del cliente, con las limitaciones y problemas que esto implica.
  • 14. 100% Java/Protocolo nativo Es un driver realizado completamente en Java que se comunica con el servidor DBMS utilizando el protocolo de red nativo del servidor. De esta forma, el driver no necesita intermediarios para hablar con el servidor y convierte todas las peticiones JDBC en peticiones de red contra el servidor.
  • 15. 100% Java/Protocolo independiente Esta es la opción más flexible, se trata de un driver 100% Java /Protocolo independiente, que requiere la presencia de un intermediario en el servidor. En este caso, el driver JDBC hace las peticiones de datos al intermediario en un protocolo de red independiente del servidor DBMS. El intermediario a su vez, que está ubicado en el lado del servidor, convierte las peticiones JDBC en peticiones nativas del sistema DBMS.
  • 16. APLICACIONES En las aplicaciones JDBC, puede almacenar en columnas XML y recuperar datos de columnas XML. En las tablas de base de datos, se utiliza el tipo de datos incorporado XML para almacenar datos XML en una columna en forma de conjunto estructurado de nodos en formato de árbol. Las aplicaciones JDBC pueden enviar datos XML al servidor de datos o recuperar datos XML del servidor de datos de una de estas maneras:  Como datos XML textuales  Como datos XML binarios, si el servidor de datos los admite
  • 17. En las aplicaciones JDBC, puede:  Almacenar un documento XML completo en una columna XML mediante los métodos setXXX.  Recuperar un documento XML completo de una columna XML mediante los métodos getXXX.  Recuperar una secuencia de un documento en una columna XML mediante la función XMLQUERY de SQL para recuperar la secuencia en una secuencia serializada en la base de datos y, a continuación, utilizar métodos getXXX para recuperar los datos en una variable de aplicación. Recuperar una secuencia de un documento en una columna XML en forma de una tabla definida por el usuario mediante la función XMLTABLE de SQL para definir la tabla de resultados y recuperarla.
  • 18. Ejemplo Ejemplo 1: Conexión a una base de datos MySQL y consulta de una tabla. import java.sql.*; public class EjemploAccesoBD1 { public static void main(String[] args) { Connection conexion = null; try { // Cargar el driver Class.forName("com.mysql.jdbc.Driver"); // Se obtiene una conexión con la base de datos. // En este caso nos conectamos a la base de datos prueba // con el usuario root y contraseña 1daw conexion = DriverManager.getConnection("jdbc:mysql://localhost/prueba", "root", "1daw");
  • 19. // Se crea un Statement, para realizar la consulta Statement s = conexion.createStatement(); // Se realiza la consulta. Los resultados se guardan en el ResultSet rs ResultSet rs = s.executeQuery("select * from persona"); // Se recorre el ResultSet, mostrando por pantalla los resultados. while (rs.next()) { System.out.println(rs.getInt("Id") + " " + rs.getString(2) + " " + rs.getDate(3)); }
  • 20. } catch (SQLException e) { System.out.println(e.getMessage()); } catch (ClassNotFoundException e) { System.out.println(e.getMessage()); } finally { // Se cierra la conexión con la base de datos. try { if (conexion != null) { conexion.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } } }