Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Grupo: ISC-05V
Descripción general
El objetivo principal de ODBC es proporcionar una capa de abstracción entre una
aplicación y diferentes sistemas de bases de datos, permitiendo a las aplicaciones
acceder a datos de manera uniforme, independientemente del sistema de gestión
de bases de datos subyacente. Esto se logra a través de controladores (drivers)
ODBC específicos para cada DBMS. Fue desarrollado por Microsoft en la década
de 1980 y se ha convertido en un estándar ampliamente adoptado para facilitar la
conectividad entre aplicaciones y bases de datos.
Aplicación ODBC: La aplicación que requiere acceder a la base de datos a través
de ODBC.
Conector/ODBC 5.3: funciona con versiones de MySQL Server entre 4.1 y 5.7. No
funciona con versiones 4.0 o anteriores y no es compatible con todas las funciones
de MySQL 8. Cumple con la especificación ODBC 3.8 y contiene características
clave de ODBC 3.8, incluida la autoidentificación como controlador ODBC 3.8,
transmisión de parámetros de salida (compatible solo con tipos binarios) y
compatibilidad con el atributo de conexión SQL_ATTR_RESET_CONNECTION
(solo para el controlador Unicode). Connector/ODBC 5.3 también introduce una
biblioteca de configuración basada en GTK+, que proporciona un diálogo de
configuración GUI DSN en algunos sistemas basados en Unix. La biblioteca está
actualmente incluida en los paquetes binarios de Oracle Linux 6 y Debian 6. Otras
características nuevas de la serie 5.3 incluyen DSN de archivos y compatibilidad
con marcadores.
Connector/ODBC 5.2: actualiza el controlador ANSI de Connector/ODBC 3.51 al
código base 5.x. También incluye nuevas funciones, como habilitar declaraciones
preparadas del lado del servidor de forma predeterminada. En el momento de la
instalación, puede elegir el controlador Unicode para obtener la más amplia
compatibilidad con fuentes de datos que utilizan varios conjuntos de caracteres, o
el controlador ANSI para un rendimiento óptimo con una gama más limitada de
conjuntos de caracteres. Funciona con las versiones de MySQL 4.1 a 5.7.
Conector/ODBC 5.1: es una reescritura parcial del código base 3.51 y está
diseñado para funcionar con las versiones de MySQL 4.1 a 5.7.
drivers
• ODBC 2 de 32 bits.
Controlador Un controlador de 32 bits que:
Exporta solo funciones ODBC 2.x.
Muestra el comportamiento de ODBC 2.x para los cambios de comportamiento.
La Arquitectura
La arquitectura de ODBC consta de cuatro componentes:
• Aplicación: Realiza el procesamiento y llama a funciones de ODBC para
enviar instrucciones SQL y recuperar resultados.
• Origen de datos: Consta de los datos a los que el usuario quiere acceder y
su sistema operativo asociado, DBMS y plataforma de red (si existe) que se
usan para acceder al DBMS.
EJEMPLO
a) Ejemplo de conexión
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
int main() {
SQLHENV henv; // Entorno de ejecución
SQLHDBC hdbc; // Conexión a la base de datos
SQLRETURN ret; // Resultado de la operación
// Realizar la conexión
ret = SQLConnect(hdbc, dsn, SQL_NTS, user, SQL_NTS, password, SQL_NTS);
if (ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO) {
printf("Error al conectar a la base de datos\n");
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 1;
}
return 0;
}
b) Ejemplo de consultas
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
int main() {
return 1;
}
// Establecer el nivel de versión del entorno
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 1;
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 1;
// Realizar la conexión
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 1;
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 1;
// Consulta SELECT
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 1;
SQLCHAR column1[255];
SQLCHAR column2[255];
// Liberar recursos
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
Introducción a JDBC
JDBC es una interfaz de programación de aplicaciones (API) para el lenguaje de
programación Java que facilita el acceso y la manipulación de bases de datos
relacionales. Fue desarrollado por Sun Microsystems y forma parte del conjunto de
tecnologías Java para la conectividad con bases de datos.
Existen varias versiones del conector JDBC, cada una con sus propias
características y mejoras. Las principales versiones del conector JDBC son las
siguientes:
• Versión 5.1: Esta versión es compatible con MySQL 5.1 y anteriores.
• Soporte para MySQL 8.0: El conector JDBC 8.0 es compatible con las nuevas
características de MySQL 8.0, como las tablas temporales, las vistas materializadas
y las consultas preparadas con parámetros posicionales.
• Mejoras de rendimiento: El conector JDBC 8.0 ha sido optimizado para ofrecer un
mejor rendimiento.
• Seguridad mejorada: El conector JDBC 8.0 incluye nuevas funciones de
seguridad, como el cifrado de datos en tránsito y el cifrado de datos en reposo.
Para elegir la versión del conector JDBC adecuada, debe tener en cuenta la versión
de MySQL que esté utilizando. Si está utilizando una versión de MySQL anterior a
8.0, debe utilizar la versión 5.7 o 5.5 del conector JDBC. Si está utilizando MySQL
8.0, debe utilizar la versión 8.0 del conector JDBC.
La API JDBC proporciona una serie de clases y métodos que se pueden utilizar para
acceder a los datos de la base de datos. Algunas de las clases y métodos más
importantes de la API JDBC son los siguientes:
2. Controlador JDBC nativo-API: Este controlador utiliza la API nativa del sistema de
base de datos para comunicarse con la base de datos. Es el tipo de controlador más
eficaz, pero también el más específico para un sistema de base de datos en
particular.
Los controladores JDBC son una herramienta esencial para desarrollar aplicaciones
Java que necesitan acceder y manipular datos almacenados en una base de datos.
Proporcionan una forma portable, interoperable, eficaz y segura de conectarse a
una amplia variedad de sistemas de base de datos.
// Cierra la conexión
connection.close();
}
}
Este código primero carga el controlador JDBC para MySQL utilizando el método
Class.forName(). Luego, crea una conexión con la base de datos utilizando el
método DriverManager.getConnection(). La cadena de conexión especifica la
dirección del servidor MySQL, el puerto y el nombre de la base de datos. Los valores
de usuario y contraseña se especifican como parámetros de la cadena de conexión.
Ejemplo 1:
conexión JDBC (Java Data base Connectivity) a una base de datos. Este ejemplo
utiliza MySQL como el sistema de gestión de bases de datos, pero puedes adaptarlo
fácilmente para otros sistemas de bases de datos cambiando el controlador JDBC
y la URL de conexión.
java
Copy code
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Parámetros de conexión
// Objeto de conexión
try {
Class.forName("com.mysql.cj.jdbc.Driver");
// Establecer la conexión
if (conexion != null) {
} catch (ClassNotFoundException e) {
} catch (SQLException e) {
} finally {
if (conexion != null) {
try {
conexion.close();
} catch (SQLException e) {
Referencias:
TylerMSFT. (2023, 12 octubre). Conceptos básicos de ODBC. Microsoft Learn.
https://learn.microsoft.com/es-es/cpp/data/odbc/odbc-basics?view=msvc-
170
odbc-versions.html
David-Engel. (2023, 3 septiembre). Tipos de controladores - ODBC API Reference.
es/sql/odbc/reference/develop-app/types-of-drivers?view=sql-server-ver16