SlideShare una empresa de Scribd logo
1 de 21
Carrera:
Ingeniería de sistemas y telemática
Curso:
Desarrollo de software i.
Tema:
Java
Docente:
Marco Aurelio Porro Chulli
Integrantes:
 Erlin Darwin herrera cieza.
 Yosmer Aguilar cabrera.
CONNECTION
representa una conexión con una base de datos. Una sesión de conexión incluye
las sentencias SQL que se ejecutan y los resultados que son devueltos después
de la conexión.
Apertura de una conexión
La forma estándar de establecer una conexión a la base de datos es mediante la
llamada al método DriverManager.getConnection. Este método toma una
cadena que contiene una URL. La clase DriverManager, referida como la capa de
gestión JDBC, intenta localizar un driver que pueda conectar con la base de datos
representada por la URL.El siguiente código muestra como ejemplo una conexión
a la base de datos
Localizada en la URL “jdbc:odbc:wombat” con un user ID de “oboy” y password
“12java”.
String url = "jdbc:odbc:wombat";
Connection con = DriverManager.getConnection(url, "oboy", "12Java");
JDBC y URL’s
Una URL JDBC suministra una forma de identificar una base de datos para que el
driver apropiado pueda reconocerla y establecer la conexión con ella.
Dado que los JDBC URL se usan con varios tipos de drivers, las convenciones son
necesariamente muy flexibles.
Primero, permiten a diferentes drivers usar diferentes esquemas para nombrar las
bases de datos. EL subprotocolo odbc, por ejemplo, permite que las URL contengan
valores de atributos (pero no los requieren).
Segundo, las URL’s JDBC permiten a los desarrolladores de drivers codificar toda la
información de la conexión dentro de ella. por ejemplo, para un applet que quiera
hablar con una base de datos dada el abrir la conexión sin necesitar que el usuario
realice ninguna tarea de administración de sistemas.
Tercero, las URL’s JDBC permiten un nivel de indirección. Esto quiere decir que la
URL JDBC puede referirse a una base de datos lógica o un host lógico que se
traduce dinámicamente al nombre actual por el sistema de nombramiento de la
red.
La sintaxis para las URL’s JDBC que se muestra a continuación tiene tres
partes separadas por dos puntos:
jdbc:<subprotocol>:<subname>
1 jdbc – el protocolo. El protocolo en una URL JDBC es siempre jdbc
2 - <subprotocol> - el nombre del driver o el nombre del mecanismo de
conectividad con la base de datos, que puede estar soportado por uno o más
drivers. Un ejemplo sobresaliente de un subprotocolo es “odbc”, que ha sido
reservado para URL’s que especifican nombres de fuentes de datos estilo
ODBC.
jdbc:odbc:fred
En este ejemplo, el subprotocolo es “odbc” y el subnombre “fred” es el
nombre de la fuente de datos ODBC local.
3 <subname> - una forma de identificar la base de datos. El subnombre
puedevariar dependiendo del subprotocolo, y puede tener un subnombre con
cualquier sintaxis interna que el fabricante del driver haya escogido.
El subprotocolo “odbc”
El subprotocolo “odbc” es un caso especial. Ha sido reservado para URL’s
queespecifican el estilo ODBC de nombres de fuentes de datos y que tiene
lacaracterística de permitir especificar cualquier número de valores de
atributosdespués del subnombre (el nombre de la fuente de datos) La sintaxis
completa para el protocolo “odbc” es:
jdbc:odbc:<data-source-name>[;<attribute-name>=<attribute-value>]*
Todos los siguientes son nombres válidos jdbc:odbc
jdbc:odbc:qeor7
jdbc:odbc:wombat
jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER
jdbc:odbc:qeora;UID=kgh;PWD=fooey
Registro de subprotocolos
Un desarrollador de drivers puede reservar un nombre para usar como
elsubprotocolo en una URL JDBC. Cuando la clase DriverManager presenta
este nombre a su lista de drivers registrados, el driver para el que este
nombre está reservado debería reconocerlo y establecer una conexión a la
base de datos que lo identifica.
lo identifica. Por ejemplo odbc está reservado para el puente JDBC-ODBC. Si
fuera, por poner otro ejemplo, Miracle Corporation, y quisiera registrar
“miracle” como el subprotocolo para el driver JDBC que conecte a su DBMS
Miracle no tiene que usar sino ese nombre.
Envío de Sentencias SQL
Una vez que la conexión se haya establecido, se usa para pasar sentencias
SQL a la base de datos subyacente. JDBC no pone ninguna restricción sobre
los tipos de sentencias que pueden enviarse.
JDBC suministra tres clases para el envío de sentencias SQL y tres métodos en
la interfaz Connection para crear instancias de estas tres clases. Estas clases y
métodos son los siguientes:
1. El método createStatement se usa para:
Sentencias SQL simples (sin parámetros).
2.El método prepareStatement se usa para:
Sentencias SQL con uno ó más parámetros IN. Sentencias SQL simples que
se ejecutan frecuentemente.
• El método prepareCall se usa para:
Llamar a procedimientos almacenados.
Transacciones
• Una transacción consiste en una o más sentencias que han sido
ejecutadas,completas y, o bien se ha hecho commit o bien roll-back.
Cuando se llama al método commit o rollback , la transacción actúal finaliza
y comienza otra.
El método commit hace permanente cualquier cambio que una sentencia
SQL realiza en la base de datos, y libera cualquier bloqueo mantenido por la
transacción.El método rollback descarta estos cambios.
Muchos drivers JDBC soportan transacciones. De hecho, un driver JDBC-
compliant debe soportar transacciones. DatabaseMetaData suministra
información que describe el nivel de transacción soportado por el DBMS.
Niveles de aislamiento de transacciones
. El usuario puede especificar un nivel de aislamiento para indicar que nivel de precaución
debería ejercitar el DBMS para la resolución de estos conflictos. Por ejemplo, ¿que
ocurrirá cuando una transacción cambia un valor y una segunda transacción lee el valor
antes de que el cambio haya sido ‘commitado’ o descartado?. ¿Debería permitirse, dado
que el valor cambiado leído por la segunda transacción será invalido si la primera
transacción ha hecho rollback?. Un usuario JDBC puede instruir a la DBMS para que un
valor que ha sido leído antes del ‘commit’ (“dirty reads”) con el siguiente código donde
con es el objeto de la actual conexión:
con.setTransactionIsolation(TRANSACTION_READ_UNCOMMITTED);
El nivel de aislamiento más alto, el que más cuidado toma para evitar conflictos. La
interfase Connection define cinco niveles de aislamiento con el nivel más bajo que
especifica que no soporte transacciones hasta el más alto que especifica que mientras
una transacción esté abierta ninguna otra transacción puede realizar cambios en los
datos leídos por esa transacción. Normalmente, el nivel de transacción más alto es el más
lento en la ejecución de la aplicación.(debido a que se incrementan los bloqueos y se
disminuye la concurrencia de los usuarios).
Ejemplo: cargar el controlador JDBC nativo
// Cargar el controlador JDBC nativo en DriverManager para hacerlo
// disponible para peticiones getConnection.
Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
Los controladores JDBC están diseñados para informar a DriverManager
acerca de sí mismos automáticamente cuando se carga su clase de
implementación de controlador. Una vez que se ha procesado la línea de
código mencionada anteriormente, el controlador JDBC nativo está
disponible para la DriverManager con la que debe trabajar. La línea de
código siguiente solicita un objeto Connection que utiliza el URL de JDBC
nativo:
Ejemplo: solicitar un objeto Connection
// Obtener una conexión que utiliza el controlador JDBC nativo.
Connection c = DriverManager.getConnection("jdbc:db2:*local");
También puede suministrarse un nombre de sistema específico, de la forma
siguiente:
Connection c = DriverManager.getConnection("jdbc:db2:rchasmop");
Así se crea una conexión con el sistema rchasmop. Si el sistema al que intenta
conectarse es un sistema remoto (por ejemplo, a través de Distributed
Relational Database architecture), debe utilizarse el nombre de sistema del
directorio de bases de datos relacionales.
Propiedades
El método DriverManager.getConnection toma un URL de una sola serie
indicado anteriormente, y solo es uno de los métodos de DriverManager
destinado a obtener un objeto Connection. También existe otra versión del
método DriverManager.getConnection que toma un ID de usuario y una
contraseña.
Ejemplo: método DriverManager.getConnection que toma un ID de
usuario y una contraseña
// Obtener una conexión que utiliza el controlador JDBC nativo.
Connection c = DriverManager.getConnection("jdbc:db2:*local", "cujo",
"newtiger");
La línea de código intenta conectarse con la base de datos local como
usuario cujo con la contraseña newtiger sin importar quién ejecuta la
aplicación.
También existe una versión del método DriverManager.getConnection que
toma un objeto java.util.Properties que permite una mayor personalización.
Ejemplo: método DriverManager.getConnection que toma un objeto
java.util.Properties
// Obtener una conexión que utiliza el controlador JDBC nativo.
Properties prop = new java.util.Properties();
prop.put("user", "cujo");
prop.put("password","newtiger");
Connection c = DriverManager.getConnection("jdbc:db2:*local", prop);
El código es funcionalmente equivalente a la versión mencionada
anteriormente que ha pasado el ID de usuario y la contraseña como
parámetros.
Propiedades JDBC de IBM Toolbox para Java
Propiedades generales:Las propiedades generales son atributos del sistema
que especifican el usuario, la contraseña y si se necesita una solicitud para
conectarse al servidor.
"password“:Especifica la contraseña para conectarse al servidor.
"prompt“:Especifica si debe presentarse al usuario una solicitud en el caso de
que sea necesario un nombre de usuario o una contraseña para conectarse al
servidor.
"user“:Especifica el nombre de usuario para conectarse al servidor
Propiedades de servidor
Las propiedades de servidor especifican atributos que rigen las
transacciones, las bibliotecas y las bases de datos.
"auto commit“:Especifica si la modalidad de compromiso automático es la
modalidad de conexión predeterminada para las nuevas conexiones.
"concurrent access resolution“:Especifica si se utiliza el acceso "currently
committed" en la conexión.
"cursor hold“: Especifica si se debe retener el cursor entre transacciones.
"cursor sensitivity“:Especifica la sensibilidad de cursor que se solicita desde
la base de datos.
"database name“:Especifica la base de datos que debe utilizarse para la
conexión con una agrupación de almacenamiento auxiliar (ASP)
independiente.
"decfloat rounding mode“:Especifica la modalidad de redondeo que debe
utilizarse al trabajar con el tipo de datos decfloat.
Propiedades de formato
"date format“:Especifica el formato de fecha utilizado en los literales de
fecha dentro de las sentencias SQL.
"date separator“:Especifica el separador de fecha utilizado en los literales de
fecha dentro de las sentencias SQL.
"decimal separator“:Especifica el separador decimal utilizado en los literales
numéricos dentro de las sentencias SQL.
"naming“:Especifica el convenio de denominación utilizado al hacer
referencia a las tablas.
" time format“:Especifica el formato de hora utilizado en los literales de hora
dentro de las sentencias SQL.
"time separator“:Especifica el separador de hora utilizado en los literales de
hora dentro de las sentencias SQL.
Ejemplos: utilización del controlador JDBC para conectarse a un servidor
Ejemplo: utilizar un URL en el que no se especifica un nombre de sistema
Este ejemplo hace que se solicite al usuario que escriba el nombre del
sistema al que desea conectarse.
// Conéctese al sistema sin nombre.
// Se solicita al usuario que escriba el nombre del sistema.
Connection c = DriverManager.getConnection("jdbc:as400:");
Ejemplo: conectarse a la base de datos del servidor; no se especifica ningún
esquema SQL predeterminado ni ninguna propiedad
// Conéctese al sistema 'mySystem'. No
// se especifica ningún esquema SQL predeterminado ni ninguna
propiedad.
Connection c = DriverManager.getConnection("jdbc:as400://mySystem");
Propiedades de rendimiento
"big decimal“:Especifica si se utiliza un objeto java.math.BigDecimal
intermedio para conversiones de decimal empaquetado y con zona.
"block criteria“:Especifica los criterios para recuperar datos del servidor en
bloques de registros.
"block size“:Especifica el tamaño de bloque (en kilobytes) que debe
recuperarse del servidor y colocarse en la memoria caché del cliente.
"lazy close“:Especifica si hay que diferir el cierre de los cursores hasta las
peticiones ulteriores.
"lob threshold“:Especifica el tamaño máximo de LOB (objeto de gran
tamaño) en bytes que puede recuperarse como parte de un conjunto de
resultados.
"package“:Especifica el nombre base del paquete SQL.
Estas son algunas propiedades
Propiedades de ordenación
"sort“:Especifica cómo ordena el servidor los registros antes de enviarlos al cliente.
"sort language“:Especifica un ID de idioma de tres caracteres que debe utilizarse
para la selección de una secuencia de ordenación.
"sort table“:Especifica la biblioteca y el nombre de archivo de una tabla de
secuencia de ordenación almacenada en el servidor.
"sort weight“:Especifica cómo trata el servidor las mayúsculas/minúsculas al
ordenar registros.
Estas solo son algunas propiedades
Ejemplo: conectarse a la base de datos del servidor; se especifica un
esquema SQL predeterminado
// Conéctese al sistema 'mySys2'. Se
// Especifica el esquema SQL predeterminado 'myschema'.
Connection c2 =
DriverManager.getConnection("jdbc:as400://mySys2/mySchema");
Ejemplo: conectarse a la base de datos del servidor y utilizar un URL
(localizador uniforme de recursos) para especificar las propiedades
// Conéctese utilizando las propiedades. Se
// propiedades se establecen en el URL,
// en lugar de mediante un objeto propiedades.
Connection c = DriverManager.getConnection(
"jdbc:as400://mySystem;naming=sql;errors=full");
GRASIAS

Más contenido relacionado

La actualidad más candente (18)

5 a bd_servidor
5 a bd_servidor5 a bd_servidor
5 a bd_servidor
 
Jdbc
JdbcJdbc
Jdbc
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Jdbc
JdbcJdbc
Jdbc
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Connec
ConnecConnec
Connec
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
JDBC
JDBCJDBC
JDBC
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
S8-POO-4.2 BDD
S8-POO-4.2 BDDS8-POO-4.2 BDD
S8-POO-4.2 BDD
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 

Destacado (16)

Statement
StatementStatement
Statement
 
Caietele principelui (4)
Caietele principelui (4)Caietele principelui (4)
Caietele principelui (4)
 
DAYTON corporate presentation
DAYTON corporate presentationDAYTON corporate presentation
DAYTON corporate presentation
 
Resume
ResumeResume
Resume
 
Utrecht/Kenniscongres/38/ X. Moonen/Het palet van kinderen en jongeren met ee...
Utrecht/Kenniscongres/38/ X. Moonen/Het palet van kinderen en jongeren met ee...Utrecht/Kenniscongres/38/ X. Moonen/Het palet van kinderen en jongeren met ee...
Utrecht/Kenniscongres/38/ X. Moonen/Het palet van kinderen en jongeren met ee...
 
ade vinay mohan resume
ade vinay mohan resumeade vinay mohan resume
ade vinay mohan resume
 
Seo for your WordPress site doesn’t need to be hard
Seo for your WordPress site doesn’t need to be hardSeo for your WordPress site doesn’t need to be hard
Seo for your WordPress site doesn’t need to be hard
 
M04 27 Tips and Tricks for a Successful Deployment - Miller Final
M04 27 Tips and Tricks for a Successful Deployment - Miller FinalM04 27 Tips and Tricks for a Successful Deployment - Miller Final
M04 27 Tips and Tricks for a Successful Deployment - Miller Final
 
Rodrigo Sanchez, mer
Rodrigo Sanchez, merRodrigo Sanchez, mer
Rodrigo Sanchez, mer
 
Debate
DebateDebate
Debate
 
Pierre angello molina motta 5°1
Pierre angello molina motta 5°1Pierre angello molina motta 5°1
Pierre angello molina motta 5°1
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Presentación result set
Presentación result setPresentación result set
Presentación result set
 
RICHARD K MEYER CV PROFILE
RICHARD K MEYER CV PROFILERICHARD K MEYER CV PROFILE
RICHARD K MEYER CV PROFILE
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Presentación1
Presentación1Presentación1
Presentación1
 

Similar a Coneccion (20)

Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datos
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
11.android bases de datos
11.android   bases de datos11.android   bases de datos
11.android bases de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Diapositivas de jdbc
Diapositivas de jdbcDiapositivas de jdbc
Diapositivas de jdbc
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
Connection
ConnectionConnection
Connection
 
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]
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Connection
ConnectionConnection
Connection
 

Más de Erlin Darwin Herrera cieza (19)

Sistema para un molino Arrocero
Sistema para un molino ArroceroSistema para un molino Arrocero
Sistema para un molino Arrocero
 
Diapositivas olap
Diapositivas olapDiapositivas olap
Diapositivas olap
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
 
Segruridad en sql server
Segruridad en sql serverSegruridad en sql server
Segruridad en sql server
 
4 procedimientos-almacenados
4 procedimientos-almacenados4 procedimientos-almacenados
4 procedimientos-almacenados
 
5 cursores
5 cursores5 cursores
5 cursores
 
Vistas
VistasVistas
Vistas
 
Comandos ddl-trabajo-02-bdii
Comandos ddl-trabajo-02-bdiiComandos ddl-trabajo-02-bdii
Comandos ddl-trabajo-02-bdii
 
Lenguaje transact-sql
Lenguaje transact-sqlLenguaje transact-sql
Lenguaje transact-sql
 
Ejecutables en netbeans
Ejecutables en netbeansEjecutables en netbeans
Ejecutables en netbeans
 
I report
I reportI report
I report
 
Jdbc
JdbcJdbc
Jdbc
 
Objeto sqlcomand
Objeto sqlcomandObjeto sqlcomand
Objeto sqlcomand
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Espacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclientEspacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclient
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de-base-de-batos
Gestor de-base-de-batosGestor de-base-de-batos
Gestor de-base-de-batos
 
Poo
PooPoo
Poo
 
Programacion capas
Programacion capasProgramacion capas
Programacion capas
 

Último

CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
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
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 

Último (20)

CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
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...
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 

Coneccion

  • 1. Carrera: Ingeniería de sistemas y telemática Curso: Desarrollo de software i. Tema: Java Docente: Marco Aurelio Porro Chulli Integrantes:  Erlin Darwin herrera cieza.  Yosmer Aguilar cabrera.
  • 2. CONNECTION representa una conexión con una base de datos. Una sesión de conexión incluye las sentencias SQL que se ejecutan y los resultados que son devueltos después de la conexión. Apertura de una conexión La forma estándar de establecer una conexión a la base de datos es mediante la llamada al método DriverManager.getConnection. Este método toma una cadena que contiene una URL. La clase DriverManager, referida como la capa de gestión JDBC, intenta localizar un driver que pueda conectar con la base de datos representada por la URL.El siguiente código muestra como ejemplo una conexión a la base de datos Localizada en la URL “jdbc:odbc:wombat” con un user ID de “oboy” y password “12java”. String url = "jdbc:odbc:wombat"; Connection con = DriverManager.getConnection(url, "oboy", "12Java");
  • 3. JDBC y URL’s Una URL JDBC suministra una forma de identificar una base de datos para que el driver apropiado pueda reconocerla y establecer la conexión con ella. Dado que los JDBC URL se usan con varios tipos de drivers, las convenciones son necesariamente muy flexibles. Primero, permiten a diferentes drivers usar diferentes esquemas para nombrar las bases de datos. EL subprotocolo odbc, por ejemplo, permite que las URL contengan valores de atributos (pero no los requieren). Segundo, las URL’s JDBC permiten a los desarrolladores de drivers codificar toda la información de la conexión dentro de ella. por ejemplo, para un applet que quiera hablar con una base de datos dada el abrir la conexión sin necesitar que el usuario realice ninguna tarea de administración de sistemas. Tercero, las URL’s JDBC permiten un nivel de indirección. Esto quiere decir que la URL JDBC puede referirse a una base de datos lógica o un host lógico que se traduce dinámicamente al nombre actual por el sistema de nombramiento de la red.
  • 4. La sintaxis para las URL’s JDBC que se muestra a continuación tiene tres partes separadas por dos puntos: jdbc:<subprotocol>:<subname> 1 jdbc – el protocolo. El protocolo en una URL JDBC es siempre jdbc 2 - <subprotocol> - el nombre del driver o el nombre del mecanismo de conectividad con la base de datos, que puede estar soportado por uno o más drivers. Un ejemplo sobresaliente de un subprotocolo es “odbc”, que ha sido reservado para URL’s que especifican nombres de fuentes de datos estilo ODBC. jdbc:odbc:fred En este ejemplo, el subprotocolo es “odbc” y el subnombre “fred” es el nombre de la fuente de datos ODBC local.
  • 5. 3 <subname> - una forma de identificar la base de datos. El subnombre puedevariar dependiendo del subprotocolo, y puede tener un subnombre con cualquier sintaxis interna que el fabricante del driver haya escogido. El subprotocolo “odbc” El subprotocolo “odbc” es un caso especial. Ha sido reservado para URL’s queespecifican el estilo ODBC de nombres de fuentes de datos y que tiene lacaracterística de permitir especificar cualquier número de valores de atributosdespués del subnombre (el nombre de la fuente de datos) La sintaxis completa para el protocolo “odbc” es: jdbc:odbc:<data-source-name>[;<attribute-name>=<attribute-value>]* Todos los siguientes son nombres válidos jdbc:odbc jdbc:odbc:qeor7 jdbc:odbc:wombat jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER jdbc:odbc:qeora;UID=kgh;PWD=fooey
  • 6. Registro de subprotocolos Un desarrollador de drivers puede reservar un nombre para usar como elsubprotocolo en una URL JDBC. Cuando la clase DriverManager presenta este nombre a su lista de drivers registrados, el driver para el que este nombre está reservado debería reconocerlo y establecer una conexión a la base de datos que lo identifica. lo identifica. Por ejemplo odbc está reservado para el puente JDBC-ODBC. Si fuera, por poner otro ejemplo, Miracle Corporation, y quisiera registrar “miracle” como el subprotocolo para el driver JDBC que conecte a su DBMS Miracle no tiene que usar sino ese nombre.
  • 7. Envío de Sentencias SQL Una vez que la conexión se haya establecido, se usa para pasar sentencias SQL a la base de datos subyacente. JDBC no pone ninguna restricción sobre los tipos de sentencias que pueden enviarse. JDBC suministra tres clases para el envío de sentencias SQL y tres métodos en la interfaz Connection para crear instancias de estas tres clases. Estas clases y métodos son los siguientes: 1. El método createStatement se usa para: Sentencias SQL simples (sin parámetros). 2.El método prepareStatement se usa para: Sentencias SQL con uno ó más parámetros IN. Sentencias SQL simples que se ejecutan frecuentemente. • El método prepareCall se usa para: Llamar a procedimientos almacenados.
  • 8. Transacciones • Una transacción consiste en una o más sentencias que han sido ejecutadas,completas y, o bien se ha hecho commit o bien roll-back. Cuando se llama al método commit o rollback , la transacción actúal finaliza y comienza otra. El método commit hace permanente cualquier cambio que una sentencia SQL realiza en la base de datos, y libera cualquier bloqueo mantenido por la transacción.El método rollback descarta estos cambios. Muchos drivers JDBC soportan transacciones. De hecho, un driver JDBC- compliant debe soportar transacciones. DatabaseMetaData suministra información que describe el nivel de transacción soportado por el DBMS.
  • 9. Niveles de aislamiento de transacciones . El usuario puede especificar un nivel de aislamiento para indicar que nivel de precaución debería ejercitar el DBMS para la resolución de estos conflictos. Por ejemplo, ¿que ocurrirá cuando una transacción cambia un valor y una segunda transacción lee el valor antes de que el cambio haya sido ‘commitado’ o descartado?. ¿Debería permitirse, dado que el valor cambiado leído por la segunda transacción será invalido si la primera transacción ha hecho rollback?. Un usuario JDBC puede instruir a la DBMS para que un valor que ha sido leído antes del ‘commit’ (“dirty reads”) con el siguiente código donde con es el objeto de la actual conexión: con.setTransactionIsolation(TRANSACTION_READ_UNCOMMITTED); El nivel de aislamiento más alto, el que más cuidado toma para evitar conflictos. La interfase Connection define cinco niveles de aislamiento con el nivel más bajo que especifica que no soporte transacciones hasta el más alto que especifica que mientras una transacción esté abierta ninguna otra transacción puede realizar cambios en los datos leídos por esa transacción. Normalmente, el nivel de transacción más alto es el más lento en la ejecución de la aplicación.(debido a que se incrementan los bloqueos y se disminuye la concurrencia de los usuarios).
  • 10. Ejemplo: cargar el controlador JDBC nativo // Cargar el controlador JDBC nativo en DriverManager para hacerlo // disponible para peticiones getConnection. Class.forName("com.ibm.db2.jdbc.app.DB2Driver"); Los controladores JDBC están diseñados para informar a DriverManager acerca de sí mismos automáticamente cuando se carga su clase de implementación de controlador. Una vez que se ha procesado la línea de código mencionada anteriormente, el controlador JDBC nativo está disponible para la DriverManager con la que debe trabajar. La línea de código siguiente solicita un objeto Connection que utiliza el URL de JDBC nativo:
  • 11. Ejemplo: solicitar un objeto Connection // Obtener una conexión que utiliza el controlador JDBC nativo. Connection c = DriverManager.getConnection("jdbc:db2:*local"); También puede suministrarse un nombre de sistema específico, de la forma siguiente: Connection c = DriverManager.getConnection("jdbc:db2:rchasmop"); Así se crea una conexión con el sistema rchasmop. Si el sistema al que intenta conectarse es un sistema remoto (por ejemplo, a través de Distributed Relational Database architecture), debe utilizarse el nombre de sistema del directorio de bases de datos relacionales.
  • 12. Propiedades El método DriverManager.getConnection toma un URL de una sola serie indicado anteriormente, y solo es uno de los métodos de DriverManager destinado a obtener un objeto Connection. También existe otra versión del método DriverManager.getConnection que toma un ID de usuario y una contraseña. Ejemplo: método DriverManager.getConnection que toma un ID de usuario y una contraseña // Obtener una conexión que utiliza el controlador JDBC nativo. Connection c = DriverManager.getConnection("jdbc:db2:*local", "cujo", "newtiger"); La línea de código intenta conectarse con la base de datos local como usuario cujo con la contraseña newtiger sin importar quién ejecuta la aplicación.
  • 13. También existe una versión del método DriverManager.getConnection que toma un objeto java.util.Properties que permite una mayor personalización. Ejemplo: método DriverManager.getConnection que toma un objeto java.util.Properties // Obtener una conexión que utiliza el controlador JDBC nativo. Properties prop = new java.util.Properties(); prop.put("user", "cujo"); prop.put("password","newtiger"); Connection c = DriverManager.getConnection("jdbc:db2:*local", prop); El código es funcionalmente equivalente a la versión mencionada anteriormente que ha pasado el ID de usuario y la contraseña como parámetros.
  • 14. Propiedades JDBC de IBM Toolbox para Java Propiedades generales:Las propiedades generales son atributos del sistema que especifican el usuario, la contraseña y si se necesita una solicitud para conectarse al servidor. "password“:Especifica la contraseña para conectarse al servidor. "prompt“:Especifica si debe presentarse al usuario una solicitud en el caso de que sea necesario un nombre de usuario o una contraseña para conectarse al servidor. "user“:Especifica el nombre de usuario para conectarse al servidor
  • 15. Propiedades de servidor Las propiedades de servidor especifican atributos que rigen las transacciones, las bibliotecas y las bases de datos. "auto commit“:Especifica si la modalidad de compromiso automático es la modalidad de conexión predeterminada para las nuevas conexiones. "concurrent access resolution“:Especifica si se utiliza el acceso "currently committed" en la conexión. "cursor hold“: Especifica si se debe retener el cursor entre transacciones. "cursor sensitivity“:Especifica la sensibilidad de cursor que se solicita desde la base de datos. "database name“:Especifica la base de datos que debe utilizarse para la conexión con una agrupación de almacenamiento auxiliar (ASP) independiente. "decfloat rounding mode“:Especifica la modalidad de redondeo que debe utilizarse al trabajar con el tipo de datos decfloat.
  • 16. Propiedades de formato "date format“:Especifica el formato de fecha utilizado en los literales de fecha dentro de las sentencias SQL. "date separator“:Especifica el separador de fecha utilizado en los literales de fecha dentro de las sentencias SQL. "decimal separator“:Especifica el separador decimal utilizado en los literales numéricos dentro de las sentencias SQL. "naming“:Especifica el convenio de denominación utilizado al hacer referencia a las tablas. " time format“:Especifica el formato de hora utilizado en los literales de hora dentro de las sentencias SQL. "time separator“:Especifica el separador de hora utilizado en los literales de hora dentro de las sentencias SQL.
  • 17. Ejemplos: utilización del controlador JDBC para conectarse a un servidor Ejemplo: utilizar un URL en el que no se especifica un nombre de sistema Este ejemplo hace que se solicite al usuario que escriba el nombre del sistema al que desea conectarse. // Conéctese al sistema sin nombre. // Se solicita al usuario que escriba el nombre del sistema. Connection c = DriverManager.getConnection("jdbc:as400:"); Ejemplo: conectarse a la base de datos del servidor; no se especifica ningún esquema SQL predeterminado ni ninguna propiedad // Conéctese al sistema 'mySystem'. No // se especifica ningún esquema SQL predeterminado ni ninguna propiedad. Connection c = DriverManager.getConnection("jdbc:as400://mySystem");
  • 18. Propiedades de rendimiento "big decimal“:Especifica si se utiliza un objeto java.math.BigDecimal intermedio para conversiones de decimal empaquetado y con zona. "block criteria“:Especifica los criterios para recuperar datos del servidor en bloques de registros. "block size“:Especifica el tamaño de bloque (en kilobytes) que debe recuperarse del servidor y colocarse en la memoria caché del cliente. "lazy close“:Especifica si hay que diferir el cierre de los cursores hasta las peticiones ulteriores. "lob threshold“:Especifica el tamaño máximo de LOB (objeto de gran tamaño) en bytes que puede recuperarse como parte de un conjunto de resultados. "package“:Especifica el nombre base del paquete SQL. Estas son algunas propiedades
  • 19. Propiedades de ordenación "sort“:Especifica cómo ordena el servidor los registros antes de enviarlos al cliente. "sort language“:Especifica un ID de idioma de tres caracteres que debe utilizarse para la selección de una secuencia de ordenación. "sort table“:Especifica la biblioteca y el nombre de archivo de una tabla de secuencia de ordenación almacenada en el servidor. "sort weight“:Especifica cómo trata el servidor las mayúsculas/minúsculas al ordenar registros. Estas solo son algunas propiedades
  • 20. Ejemplo: conectarse a la base de datos del servidor; se especifica un esquema SQL predeterminado // Conéctese al sistema 'mySys2'. Se // Especifica el esquema SQL predeterminado 'myschema'. Connection c2 = DriverManager.getConnection("jdbc:as400://mySys2/mySchema"); Ejemplo: conectarse a la base de datos del servidor y utilizar un URL (localizador uniforme de recursos) para especificar las propiedades // Conéctese utilizando las propiedades. Se // propiedades se establecen en el URL, // en lugar de mediante un objeto propiedades. Connection c = DriverManager.getConnection( "jdbc:as400://mySystem;naming=sql;errors=full");