BAGUA GRANDE 06 DE DICIEMBRE DEL 2016 |
martes, 6 de diciembre de 2016
martes, 29 de noviembre de 2016
jueves, 3 de noviembre de 2016
lunes, 24 de octubre de 2016
LA CLASE CONNECTION JAVA.
Ingeniería de Sistemas y Telemática
DOCENTE
: Ing. Marco Aurelio Porro Chulli.
ASIGNATURA : Desarrollo de
Software I.
INTEGRANTES : Vicente Wualdir Alberca
Rojas.
Wilder Fuentes Araujo.
AÑO : 2016
lunes, 26 de septiembre de 2016
JAVA CON BASE DE DATOS.
DOCENTE :
Ing. Marco Aurelio Porro Chulli.
ASIGNATURA : Desarrollo
de Software I.
INTEGRANTES : Vicente
Wualdir Alberca Rojas.
Wilder Fuentes
Araujo.
AÑO : 2016
viernes, 16 de septiembre de 2016
JDBC
Desarrollo de Software I
Ingeniería de
Sistemas y Telemática
|
DOCENTE
: Ing. Marco Aurelio
Porro Chulli.
ASIGNATURA : Desarrollo
de Software I.
Ciclo
: V.
Integrantes:
1.
ALBERCA ROJAS VICENTE WUALDIR.
2.
FUENTES ARAUJO WILDER.
DESARROLLO DE SOFTWARE.
I. Tema: JDBC
1. Contenido.

Una capa de acceso a
datos o DAL (del inglés data Access layer) en los programas
informáticos, es una
capa de un programa informático que proporciona acceso simplificado a los
datos almacenados en el almacenamiento persistente de algún tipo, tal como una entidad-relación de base de datos.
Este acrónimo se
usa predominantemente en entornos Microsoft ASP.NET.
Además, los métodos de la lógica
de negocio de una aplicación se pueden asignar a la capa de acceso a datos.
Así, por ejemplo, en vez de hacer una consulta en una base de datos en busca de
todos los usuarios de varias tablas de la aplicación puede llamar a un solo
método de una DAL que abstrae las llamadas bases de datos.
Las aplicaciones que utilizan una
capa de acceso a datos puede ser cualquiera de los servidores de base de datos
dependiente o independiente. Si la capa de acceso a datos es compatible con
varios tipos de bases de datos, la aplicación se vuelve capaz de utilizar lo
que las bases de datos de la CHA puede hablar.
La creación de reflejo de la base de datos es una
solución de software destinada a aumentar la disponibilidad de la base de datos
y la redundancia de los datos. El controlador JDBC de Microsoft SQL Server
ofrece una compatibilidad implícita con la creación de reflejo de la base de
datos, de modo que el desarrollador de software no tenga que escribir ningún
código ni realizar ninguna otra acción una vez configurado para la base de
datos.
La creación de reflejo de la base de datos,
implementada para cada base de datos, conserva una copia de una base de datos
de producción de SQL Server en un servidor en espera. Este servidor es un
servidor en estado de espera activa o semiactiva según la configuración y el
estado de la sesión de creación de reflejo de la base de datos. Un servidor en
estado de espera activa admite una conmutación por error rápida sin que se
produzca una pérdida de las transacciones confirmadas y un servidor en estado
de espera semiactiva admite el forzado del servicio (con una posible pérdida de
datos).

Netbeans permite realizar
conexiones a cualquier base de datos que cuente con un driver JDBC y ejecutar
comandos SQL sobre la conexión. Revise la estructura de la base de datos a
través de la conexión que se crea en la pestaña Services→Databases.
Dirigase a la pestaña Services.
Enseguida, haga click derecho sobre Databases y seleccione New
Connection.
El ventana New Connection Wizard seleccione en la lista desplegable
Driver el correspondiente a Oracle.
Seleccione el driver de oracle que se va a utilizar:
La siguiente imagen muestra la información necesaria para crear la
conexión:
·
Host: la ip o el nombre de la maquina donde se encuentra instalado
oracle, para este ejemplo se refiere a fn3.oracle.virtual.uniandes.edu.co
·
Port: hace referencia al puerto de escucha donde se encuentra instalado
Oracle 1521
·
SID: hace referencia al nombre de la escucha de base de datos que se está
utilizando para este ejemplo se está utilizando prod.
·
User Name: El usuario de la base de datos. En éste ejemplo, es
CSOF5302M1520.
·
Password: La contraseña de la base de datos.
·
JDBC URL: Es la dirección de la base de datos. En todos los casos, la
dirección es la siguiente: jdbc:oracle:thin:@host:port:sid
Una vez se haya ingresado toda la información, haga click en Finish para
crear la conexión a la base de datos.
Finalmente, ya agregada la nueva base de datos y su respectiva conexión,
ésta será visible en el árbol de Databases en la pestaña Services tal como se
muestra a continuación:

Java Database Connectivity, más conocida
por sus siglas JDBC, es una API que permite la ejecución de operaciones
sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se
ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL
del modelo de base de datos que se utilice.
El API JDBC se presenta como una
colección de interfaces Java y métodos de gestión de manejadores de
conexión hacia cada modelo específico de base de datos. Un manejador de
conexiones hacia un modelo de base de datos en particular es un conjunto de
clases que implementan las interfaces Java y
que utilizan los métodos de registro para declarar los tipos de localizadores a
base de datos (URL) que pueden manejar. Para
utilizar una base de datos particular, el usuario ejecuta su programa junto con
la biblioteca de conexión apropiada al modelo de su base de datos, y accede a
ella estableciendo una conexión; para ello provee el localizador a la base de
datos y los parámetros de conexión específicos. A partir de allí puede realizar
cualquier tipo de tarea con la base de datos a la que tenga permiso: consulta,
actualización, creación, modificación y borrado de tablas, ejecución de procedimientos almacenados en la base de datos, etc.
El Controlador JDBC
de Microsoft para SQL Server admite el uso de los tipos de datos básicos y
avanzados de JDBC dentro de una aplicación Java que use SQL Server como base de
datos.
El sistema de tipos
de JDBC arbitra la conversión entre los tipos de datos de SQL Server y los
tipos y objetos del lenguaje Java. Los tipos de JDBC se modelan en los tipos
SQL-92 y SQL-99. El controlador JDBC sigue la especificación de JDBC y está
diseñado para proporcionar un equilibrio correcto derecho entre previsibilidad
y flexibilidad.
En los temas de esta
sección se describe cómo utilizar los tipos de datos básicos y avanzados, y
cómo se pueden convertir en otros tipos de datos.
En
esta sección
Tema
|
Descripción
|
Describe
los tipos de datos básicos de JDBC. Incluye ejemplos de cómo trabajar con los
tipos de datos utilizando conjuntos de resultados, consultas parametrizadas y
procedimientos almacenados.
|
|
Describe
cómo el controlador JDBC genera fechas.
|
|
Describe
los tipos de datos avanzados de JDBC.
|
|
Describe
las diferencias entre los diversos tipos de datos del controlador JDBC.
|
|
Describe
cómo se administra la conversión de tipos de datos cuando se usan métodos
establecedor y captador.
|
|
Describe
la compatibilidad con los tipos del juego de caracteres nacionales.
|
|
Describe la interfaz SQLXML.
También describe cómo leer y escribir un XML desde y en una base de datos
relacional con el tipo de datos Java de SQLXML.
|
|
Explica las interfaces que
tienen los métodos y constantes específicos del Controlador JDBC de Microsoft
para SQL Server que permiten que un servidor de aplicaciones cree un proxy de
la clase; asimismo, describe la compatibilidad con la interfaz
java.sql.Wrapper.
|
Aplicaciones.
Las aplicaciones de
ejemplo del Controlador JDBC de Microsoft para SQL Server muestran varias
características del controlador JDBC. Además, describen las prácticas
recomendadas de programación que puede aplicar al usar el controlador JDBC con
una base de datos de SQL Server.
Todas las
aplicaciones de ejemplo se incluyen en archivos de código *.java que se pueden
compilar y ejecutar en el equipo local, y se encuentran en varias subcarpetas
de la siguiente ubicación:
<directorio de
instalación de> \sqljdbc_ <versión> \ <idioma>
\muestras
En los temas de esta
sección se describe cómo configurar y ejecutar las aplicaciones de ejemplo, y
se incluye una descripción de lo que demuestran.
En esta sección.
Tema
|
Descripción
|
Estas aplicaciones de ejemplo
demuestran cómo conectarse a una base de datos de SQL Server. Además,
explican los distintos modos en que se pueden recuperar datos de una base de
datos de SQL Server.
|
|
Estas aplicaciones de ejemplo
demuestran cómo usar los métodos de tipos de datos del controlador JDBC para
trabajar con los datos de una base de datos de SQL Server.
|
|
Estas aplicaciones de ejemplo
demuestran cómo usar los conjuntos de resultados para procesar los datos de
una base de datos de SQL Server.
|
|
Estas aplicaciones de ejemplo
demuestran cómo utilizar el almacenamiento en búfer adaptable para recuperar
datos de valores grandes de una base de datos de SQL Server sin la sobrecarga
que suponen los cursores de servidor.
|

JDBC (Java DataBase Connectivity)
es la API que permite la conexión de un programa Java y una base de datos
relacional.
Se encuentra dentro del paquete
java.sql.
Incluye clases e interfaces que
permiten el acceso a la bases de datos para ejecutar consultas,
actualizaciones, ejecutar procedimientos, etc.
Algunas de las clases e
interfaces de JDBC son:
Clase / Interface
|
Función
|
Clase DriverManager
|
Establece la conexión con la base
de datos
|
Interface Connection
|
Representa una conexión con la BD
|
Interface Statement
|
Ejecución de consultas SQL
|
Interface PreparedStatement
|
Ejecución de consultas preparadas y
procedimientos almacenados
|
Interface ResultSet
|
Manipulación de registros en
consultas de tipo Select
|
Interface ResultSetMetadata
|
Proporciona información sobre la
estructura de los datos.
|
El
objetivo de las interfaces de JDBC es definir como trabajar con la base de
datos:
como
establecer la conexión, como ejecutar una consulta, etc.
Para
poder ejecutar nuestro programa necesitamos las clases que implementen estas
interfaces.
Establecer una conexión
con la base de datos.
El
siguiente paso es establecer una conexión con la base de datos. Hay dos
opciones para obtener una conexión la primera es crear una nueva conexión con
la base de datos que será la que veremos en este ejemplo y la otra es obtener
la conexión de un pool de conexiones creado previamente que es una opción más
eficiente porque no hace falta estar abriendo y cerrando conexiones
continuamente ya que simplemente se cogen las conexiones de pool cuando se
necesitan y se dejan en el pool cuando ya no se necesitan para que puedan
volver a usarse. En un artículo previo, Como crear un pool de conexiones en Tomcat, puedes ver un ejemplo de cómo usar un pool de
conexiones con dicho servidor pero para un ejemplo de una aplicación de
escritorio como la que vamos a ver supuestamente vamos a tener pocas llamadas a
base de datos por lo que no se va a notar mucha diferencia.
1
|
//Connection cn =
DriverManager.getConnection("jdbc:mysql://servidor_bd:puerto/nombre_bd",
"usuario", "contraseña");
2//Connection cn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/cuentas",
"root", "");
|
Para
obtener una conexión tenemos que hacer uso del método getConnection de
DriverManager y le tenemos que pasar como parámetros, la base de datos, el
usuario y la contraseña. Si en lugar de usar mysql se usa otra base de datos el
formato de la url de la base de datos cambia, por ejemplo, para oracle el
formato es jdbc:oracle:<tipo_driver>:@<<base_datos>.

1: Modificar el teléfono del primer contacto de la tabla persona con
nombre Juan.
import
java.sql.*;
public
class EjemploAccesoBD3 {
public
static void main(String[] args) {
Connection
conexion = null;
int
id;
try
{
//
Cargar el driver
Class.forName("com.mysql.jdbc.Driver");
//
Se obtiene una conexión con la base de datos.
conexion
= DriverManager.getConnection("jdbc:mysql://localhost/prueba",
"root", "1daw");
//
Se crea un Statement, para realizar el query
Statement
s = conexion.createStatement();
//
Se realiza la consulta
//
Queremos obtener el id del primer contacto con nombre Juan
ResultSet
rs = s.executeQuery("SELECT id FROM contacto WHERE nombre='Juan'");
if(rs.next()){ //Si
rs.next() devuelve true significa que al menos hay un registro
id
= rs.getInt("id"); //se obtienen su id
//se
actualiza el registro
s.executeUpdate("UPDATE
contacto SET telefono='987654321' WHERE id="+id);
}
}
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());
}
}
}
}
2: Crear una tabla e insertar datos.
Crearemos la tabla contactos dentro
de la base de datos prueba.
import
java.sql.*;
public
class EjemploAccesoBD2 {
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.
conexion
= DriverManager.getConnection("jdbc:mysql://localhost/prueba",
"root", "1daw");
//
Se crea un Statement, para realizar el query
Statement
s = conexion.createStatement();
//se
crea una tabla nueva
s.executeUpdate("CREATE
TABLE contacto (id INT AUTO_INCREMENT,
PRIMARY
KEY(id), nombre VARCHAR(20),
apellidos
VARCHAR(20), telefono VARCHAR(20))");
//Los
datos que vamos a insertar los tenemos en 3 arrays
String
nombres[] = {"Juan", "Pedro", "Antonio"};
String
apellidos[] = {"Gomez", "Lopez", "Alvarez"};
String
telefonos[] = {"987452154", "989654125",
"985321478"};
//se
insertan datos en la tabla
for
(int i = 0; i < nombres.length; i++) {
s.executeUpdate("INSERT
INTO contacto (nombre, apellidos, telefono)
VALUES
('" + nombres[i] + "','" + apellidos[i] + "','" +
telefonos[i] + "' )");
}
//
Se realiza una consulta sobre la tabla contacto.
ResultSet
rs = s.executeQuery("select * from contacto");
//
Se recorre el ResultSet, mostrando por pantalla los resultados.
while
(rs.next()) {
System.out.println(rs.getInt(1)
+ " " + rs.getString(2) + " " +
rs.getString(3)
+ " " + rs.getString(4));
}
}
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());
}
}
}
}
2. Resumen.
Qué es JDBC?
JDBC es usado para enviar
comandos SQL hacia una base de datos relacional, que puede ser Oracle,
Infomix, SyBase, etc.
|
|
Qué
hace JDBC?
Establece una conexión con una BD Envía sentencias SQL Procesa los resultados
Connection con =
DriverManager.getConnection ( "jdbc:odbc:wombat",
"login", "password");
Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } |
|
JDBC es
una API de bajo nivel para API´s de alto nivel
Una
integración de SQL hacia Java, es decir que las sentencias SQL se puedan
mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en
una sentencia SQL para recibir o dar valores.
Un
mapeo directo de las tablas de la BD hacia las clases de Java, donde cala
fila de la tabla se convierte en una instancia de la clase, y donde cada
columna se corresponde a un atrubuto de esa instancia.
|
|
JDBC
v/s ODBC y otras API´s
ODBC no es apropiado para usar directamente con Java por que usa una interfaz en C. Una traducción literal de la API ODBC en C, no es deseable. Por ejemplo Java no tiene punteros y la ODBC hace gran uso de ellos. ODBC es muy difícil de aprender , hace una mezcla de acciones simples y avanzadas. Una API como JDBC es necesario para poder desarrollar una solución“puramente de Java” |
|
Modelos
de dos capas y tres capas.
|
|
Conformación de SQL.
El SQL es el idioma normal por acceder las bases de datos correlativas. Una dificultad es que aunque la mayoría del DBMSs (los Sistemas de Dirección de Base de datos) use un formulario normal de SQL para la funcionalidad básica, ellos no conforman la sintaxis de SQL normal más recientemente definida para la funcionalidad más avanzada. Por ejemplo no todas las BD soportar procedimientos almacenados.
Una
manera que el API de JDBC trata de este problema es permitir cualquier
sentencia sea pasada a un driver de DBMS subyacente.
Para
las aplicaciones complejas, JDBC trata la conformación de SQL de otra manera.
Proporciona la información descriptiva sobre el DBMS por medio del
DatabaseMetaData para que las aplicaciones puedan adaptar a los requisitos y
capacidades de cada DBMS.
|
|
El
Armazón de JDBC.
El puente de JDBC-ODBC les permite a los drivers de ODBC ser usado como drivers de JDBC. Y a largo plazo proporcionará una manera de acceder alguno del DBMSs menos popular si no se crean los drivers de JDBC para ellos. |
Uso de las clases Class, Connection, DriverManager.
JDBC
(Java DataBase Connectivity) es la API que permite la conexión de un programa
Java y una base de datos relacional.
Se
encuentra dentro del paquete java.sql.
3.SUMMARY.
What is JDBC ?
JDBC is used to send
commands to a SQL relational database , which can be Oracle , Informix ,
Sybase , etc.
What makes JDBC ?
It establishes a connection
with a BD
Send SQL statements
Processes the results
Connection con =
DriverManager.getConnection ( "jdbc : odbc : wombat " , "
login" , "password" ) ;
Statement stmt =
con.createStatement ();
ResultSet rs =
stmt.executeQuery ( "SELECT a, b, c FROM Table1" ) ;
while ( rs.next ()) { int x
= rs.getInt ( "a" ) ; String s = rs.getString ( "b") ;
rs.getFloat float f = ( " c " ) ; }
JDBC is a low-level API for high-level APIs
Integration of SQL to Java , meaning that SQL statements can be mixed with Java, for example, a
Java variable can be used in an SQL statement to receive or give values.
A direct mapping of the database tables to Java classes , where cove row of
the table becomes an instance of the class, where each column corresponds to a atrubuto of that instance.
JDBC v / s ODBC and other APIs
ODBC is not suitable for use directly by using a Java interface C.
A literal translation of the ODBC API in C , is not desirable. For example Java has no pointers ,
and ODBC makes great use of them . ODBC is hard to learn, makes a mixture of simple and advanced actions. An API like JDBC is needed to develop a solution " pure Java"
Conformation of SQL .
SQL is the standard language for accessing data bases correlative . One difficulty is that although most DBMSs
( Systems Management Database ) use a standard form of SQL for basic functionality , they do not make normal SQL syntax most recently defined for more advanced functionality . For example not all BD support stored procedures. One way the JDBC API deals with this problem is to allow any sentence be passed to an underlying DBMS driver .
For complex applications , JDBC SQL shaping is otherwise. It provides descriptive information about the DBMS
by the DatabaseMetaData so that applications can adapt to the requirements and capabilities of each DBMS.
Using Class, Connection, DriverManager class .
JDBC (Java DataBase Connectivity) is the API that allows connection of a Java program and a relational database .
It is in the java.sql package.
4.Recomendaciones.
EL diseño de las nuevas aplicaciones conduce a la minimización del ingreso de datos por parte del usuario,
además El lenguaje que se desarrolla esta orientado a facilitar la ejecución en cualquier sistema operativo,
ya que se ajusta estándares reconocidos, que permite la flexibilidad de los cambios.
Para que exista un enlace remoto con la base de datos ,
la aplicacion no debe de conectarse directamente a la base de datos ,
sino que mediante los drivers JDBC –ODBC. 5.Conclusiones.
Los drivers JDBC y ODBC establecen la estructura para el diseño
y generación de conexiones y accesos a Base de Datos remotas; por lo que facilita el desarrollo de nuevas aplicaciones.JDBC ofrece una interfaz estándar para accesar multiples bases de esto permitirá que puedas conextarte sin ningún problema a cualquie base de datos.
6.Apreciacion del equipo.
la
conexión a una base de datos nos permite aprender
el entorno del elemento JDBC y conocer nuevas formas de acceder a una base de datos.
7.Glosario de términos.
JDBC . Es una interfase de acceso a bases de datos
estándar
SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
ODBC.es un estándar de acceso a las bases de
datos desarrollado por
SQL Access Group (SAG) en 1992. El objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué sistema de gestión debases de datos (DBMS) almacene los datos.
API. es un conjunto de funciones y
procedimientos que
cumplen una o muchas funciones con el fin de ser utilizadas por otro software. Las siglas API vienen del inglés Application Programming Interface. En español sería Interfaz de Programación de Aplicaciones.
8. BIBLIOGRAFIA O LINKOGRAFIA.
PARA MAYOR INFORMACION AKI ...LA DIAPOSITIVA..
|
Suscribirse a:
Entradas (Atom)