DESARROLLO DE SOFTWARE I - NETBEANS JAVA
I.
TEMA: CONNECTION
1.
CONTENIDO
Definición:
el objeto
Connection nos proporciona una conexión a una base de datos, para
establecer la conexión lo primero que hacemos es crear el Objeto Connection por
medio de la propiedad CreateObject de objeto Server:
<%
Set conexion=Server.CreateObject("ADODB.Connection")%>
El
objeto Connection representa una conexión HTTP entre la prueba dinámica (el
cliente) y el servidor Web. La prueba abre la conexión, aunque tanto la prueba
como el servidor Web pueden cerrarla. Se pueden enviar múltiples solicitudes
mediante una sola conexión, siempre que esta última permanezca abierta.
Una
conexión (sesión) con una base de datos específica. Sentencias SQL se ejecutan
y los resultados se devuelven en el contexto de una conexión.
Una
base de datos de un objeto de conexión es capaz de proporcionar información que
describe sus mesas, su gramática apoyada SQL, sus procedimientos almacenados,
las capacidades de esta conexión, y así sucesivamente. Esta información se
obtiene con el método getMetaData.
La clase connection proporciona un
interfaz eficiente para el acceso a datos y metadatos de una base de datos.
Conocer los recursos de ambas para
acceso a base de datos es fundamental a la hora de obtener un código
transparente al motor de base de datos que utilice la aplicación.
Para conectarse a cualquier
servidor de base de datos hace falta una aplicación que sirva como enlace. A
ese tipo de clases se les llama conectores. En el caso de MySQL, debe
descargarse de su sitio web. En dicha descarga, se obtiene todo el código fuente
de las clases necesarias pero sólo se requiere el archivo mysql-connector-java.jar.
Este archivo debe ponerse en la siguiente ruta:
JAVA-HOME]\jre\lib\ext
Crear conexión:Las
propiedades fundamentales para crear una conexión
son:
Name:
Es el nombre de la base de datos que queremos abrir. Si no se especifica se creará una base de datos EN MEMORIA.
Es el nombre de la base de datos que queremos abrir. Si no se especifica se creará una base de datos EN MEMORIA.
En
Mysql si deseamos crear usuarios, cambiar privilegios, que afecten al gestor de
base de datos deberemos acceder a la base de datos "mysql".
Host:
Es la ubicación del servidor de base de datos. En muchas ocasiones será "localhost", pero puede ser también un nombre o una dirección IP.
Es la ubicación del servidor de base de datos. En muchas ocasiones será "localhost", pero puede ser también un nombre o una dirección IP.
Login y Password:
Usuario
y clave que definan al usuario que intenta crear la base.
Type:
Indica el tipo de base de datos al que queremos acceder (mysql, sqlite,etc).
Indica el tipo de base de datos al que queremos acceder (mysql, sqlite,etc).
El puerto por el que accederemos a la base de datos. En el caso de mysql el puerto por defecto es 3306.
Nota:
Al configurar una conexión, aplicaciones JDBC deben utilizar el método de
conexión apropiado tal como setAutoCommit o setTransactionIsolation. Las
aplicaciones no deben invocar comandos SQL directamente para cambiar la
configuración de la conexión cuando existe un método de JDBC disponibles. Por
defecto, un objeto de conexión se encuentra en modo de confirmación automática,
lo que significa que se compromete de forma automática los cambios después de
la ejecución de cada instrucción. Si el modo de confirmación automática ha sido
desactivada, el método commit se debe llamar de forma explícita con el fin de
confirmar los cambios; de lo contrario, no se guardarán los cambios de base de
datos.
Un
nuevo objeto de conexión creado mediante la API básica de JDBC 2.1 tiene un
mapa tipo inicialmente vacío asociado a él. Un usuario puede introducir una
asignación personalizada para un UDT en este tipo de mapa. Cuando un UDT se
recupera de una fuente de datos con la ResultSet.getObject método, el método
getObject comprobará tipo de mapa de la conexión para ver si hay una entrada
para ese UDT. Si es así, el método getObject mapeará la UDT a la categoría
indicada. Si no hay ninguna entrada, la UDT se asignará mediante el mapeo
estándar.
Un
usuario puede crear un nuevo tipo de mapa, que es un objeto java.util.Map,
hacer una entrada en ella, y pasarlo a los métodos que pueden realizar java.sql
asignación personalizada. En este caso, el método utilizará el tipo de mapa
dado en lugar de la asociada a la conexión.
Por
ejemplo, el siguiente fragmento de código especifica que los atletas de tipo
SQL se asignan a los atletas de clase en el lenguaje de programación Java. El
fragmento de código recupera el tipo de mapa para el objeto Connection con,
inserta la entrada en ella, y selecciona el tipo de mapa con la nueva entrada
como tipo de mapa de la conexión.
java.util.Map map =
con.getTypeMap();
map.put("mySchemaName.ATHLETES",
Class.forName("Athletes"));
con.setTypeMap(map);
Propiedades:
Especifica la referencia a la base de datos con
la cual queremos conectar, conteniendo en una cadena de texto la información
necesaria para efectuar esa conexión mediante parejas de valores separadas por
";".
Los valores que podemos asignar son:
Data
Source:
|
DSN=Nombre
ODBC de la Base de Datos
|
Usuario:
|
UID=Nombre
de Usuario
|
Password:
|
PWD=Password
del usuario para la base de datos
|
Ejemplo:
<% conexion.ConnectionString="DSN=MIOdbc;UID=pepe;PWD=1234" %>
<% conexion.ConnectionString="DSN=MIOdbc;UID=pepe;PWD=1234" %>
Mode
Especifica los permisos de la conexión.
Algunos de los valores mas habituales que podemos asignar son:
1. Establece permiso solo de Lectura
2. Establece permiso solo de Escritura
3. Establece permiso de Lectura/Escritura
Ejemplo:
<% conexion.Mode=3 %>
Especifica los permisos de la conexión.
Algunos de los valores mas habituales que podemos asignar son:
1. Establece permiso solo de Lectura
2. Establece permiso solo de Escritura
3. Establece permiso de Lectura/Escritura
Ejemplo:
<% conexion.Mode=3 %>
Ejemplo:
A continuación se presenta un ejemplo:
package
ar.com.et3.lab8.ejercicio1.administrador;
import java.sql.Connection;
import java.sql.DriverManager;
/**
* @author Window8
*/
public abstract class AdministradorDeConexiones {
public AdministradorDeConexiones() {
}
public static Connection getConnection() throws
Exception
{
String dbDriver =
"com.mysql.jdbc.Driver";
// Establece la
conexion a utilizar contra la base de datos
String dbConnString =
"jdbc:mysql://localhost/6to_ET3";
// Establece el
usuario de la base de datos
String dbUser = "root";
// Establece la contraseña de la base de datos
String dbPassword = "";
// Establece el driver de conexión
Class.forName(dbDriver).newInstance();
// Retorna la conexión
return DriverManager.getConnection(dbConnString, dbUser, dbPassword);
} }
2.
RESUMEN
Campos
Modificador y tipo de campo y Descripción
static int
TRANSACTION_NONE
Una constante que indica que las transacciones no son
compatibles.
static int
TRANSACTION_READ_COMMITTED
Una constante que indica que las lecturas sucias se evitan;
no repetibles y las lecturas fantasmas puede ocurrir.
static
int TRANSACTION_READ_UNCOMMITTED
Una constante que indica que las lecturas sucias, no
repetibles y las lecturas fantasmas puede ocurrir.
static int
TRANSACTION_REPEATABLE_READ
Una constante que indica que las lecturas sucias y lecturas
no repetibles se evitan; lecturas fantasma puede ocurrir.
static int
TRANSACTION_SERIALIZABLE
Una constante que indica que las lecturas sucias, no
repetibles y las lecturas fantasmas se les impide.
3.
SUMMARY
Fields
Modifier and Type Field and Description
static
int TRANSACTION_NONE
A constant indicating that
transactions are not supported.
static
int TRANSACTION_READ_COMMITTED
A constant indicating that dirty
reads are prevented; non-repeatable reads and phantom reads can occur.
static
int TRANSACTION_READ_UNCOMMITTED
A constant indicating that dirty
reads, non-repeatable reads and phantom reads can occur.
static
int TRANSACTION_REPEATABLE_READ
A constant indicating that dirty
reads and non-repeatable reads are prevented; phantom reads can occur.
static
int TRANSACTION_SERIALIZABLE
A constant indicating that dirty
reads, non-repeatable reads and phantom reads are prevented.
4.
RECOMENDACIONES
. Para garantizar que las conexiones están siempre cerradas, abrir la conexión en el interior de un bloque using. Así, asegura que la conexión se cierra automáticamente cuando el código sale del bloque.
. Si la conexión SqlConnection está fuera de ámbito, no se cerrará. Por lo tanto, es preciso cerrar explícitamente la conexión llamando a Close o Dispose.
. Cierre y botar son funcionalmente equivalentes. Si el valor de la agrupación de conexiones Pooling se establece en true o yes, la conexión subyacente se devuelve a la agrupación de conexiones.
. Para garantizar que las conexiones están siempre cerradas, abrir la conexión en el interior de un bloque using. Así, asegura que la conexión se cierra automáticamente cuando el código sale del bloque.
. Si la conexión SqlConnection está fuera de ámbito, no se cerrará. Por lo tanto, es preciso cerrar explícitamente la conexión llamando a Close o Dispose.
. Cierre y botar son funcionalmente equivalentes. Si el valor de la agrupación de conexiones Pooling se establece en true o yes, la conexión subyacente se devuelve a la agrupación de conexiones.
5.
CONCLUSIONES
SqlConnection se utiliza junto con SqlDataAdapter Y sqlCommand para aumentar el rendimiento cuando se conecta a una base de datos de Microsoft SQL Server.
Cuando se crea una instancia de SqlConnection, todas las propiedades se ajustan a sus valores iniciales.
Un objeto SqlConnection representa una única sesión con un origen de datos de SQLServer. En el caso de un sistema de bases de datos de cliente y servidor, equivale a una conexión de red al servidor.
SqlConnection se utiliza junto con SqlDataAdapter Y sqlCommand para aumentar el rendimiento cuando se conecta a una base de datos de Microsoft SQL Server.
Cuando se crea una instancia de SqlConnection, todas las propiedades se ajustan a sus valores iniciales.
Un objeto SqlConnection representa una única sesión con un origen de datos de SQLServer. En el caso de un sistema de bases de datos de cliente y servidor, equivale a una conexión de red al servidor.
6.
APRECIACIÓN
DEL EQUIPO
7.
GLOSARIO
DE TÉRMINOS
GETMETADATA: Recupera un objeto SQLServer DatabaseMetaData que contiene los metadatos sobre la base de datos para la que este objeto SQLServerConnection representa una conexión.
HOST: Es un ordenador que funciona como el punto de inicio y final de las transferencias de datos. Más comúnmente descrito como el lugar donde reside un sitio web. Un host de Internet tiene una dirección de Internet única (dirección IP) y un nombre de dominio único o nombre de host.
GETMETADATA: Recupera un objeto SQLServer DatabaseMetaData que contiene los metadatos sobre la base de datos para la que este objeto SQLServerConnection representa una conexión.
HOST: Es un ordenador que funciona como el punto de inicio y final de las transferencias de datos. Más comúnmente descrito como el lugar donde reside un sitio web. Un host de Internet tiene una dirección de Internet única (dirección IP) y un nombre de dominio único o nombre de host.
PORT: un
puerto es una interfaz a través de la cual se pueden enviar y recibir los
diferentes tipos de datos.
JDBC: Java Database Connectivity es una interfaz de programación de aplicaciones (API) para el lenguaje de programación Java, que define la forma en que un cliente puede acceder a una base de datos.
COMMIT : se refiere a la idea de consignar un conjunto de cambios "tentativos" de forma permanente. Un uso popular es al final de una transacción de base de datos.
API: La interfaz de programación de aplicaciones es el conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
PROTOCOLO SSL: Secure Sockets Layer es un protocolo diseñado para permitir que las aplicaciones para transmitir información de ida y de manera segura hacia atrás.
MAPEAR: es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional como motor de persistencia.
TRANSACCIÓN: es una interacción con una estructura de datos compleja, compuesta por varios procesos que se han de aplicar uno después del otro.
POOLING: es un término gestión de los recursos que se refiere a la agrupación de recursos a los efectos de maximizar las ventajas y / o minimizar el riesgo
JDBC: Java Database Connectivity es una interfaz de programación de aplicaciones (API) para el lenguaje de programación Java, que define la forma en que un cliente puede acceder a una base de datos.
COMMIT : se refiere a la idea de consignar un conjunto de cambios "tentativos" de forma permanente. Un uso popular es al final de una transacción de base de datos.
API: La interfaz de programación de aplicaciones es el conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
PROTOCOLO SSL: Secure Sockets Layer es un protocolo diseñado para permitir que las aplicaciones para transmitir información de ida y de manera segura hacia atrás.
MAPEAR: es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional como motor de persistencia.
TRANSACCIÓN: es una interacción con una estructura de datos compleja, compuesta por varios procesos que se han de aplicar uno después del otro.
POOLING: es un término gestión de los recursos que se refiere a la agrupación de recursos a los efectos de maximizar las ventajas y / o minimizar el riesgo
8. LINKOGRAFÍA

No hay comentarios.:
Publicar un comentario