Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Introduccin
Qu es ODBC?
ODBC => Open DataBase Connectivity Es una API estndar para el acceso a datos tanto relacional como no relacional. Independiente de Origen de Datos, del Lenguaje y del Sistema Operativo. Creado inicialmente por Microsoft y adoptado por casi toda la industria (Oracle, Borland, Novell, etc.)
Introduccin
Por qu ODBC?
Necesidad de un acceso optimo a cualquier SGBD, tanto como si se tratara directamente con l. Simplicidad en el uso.
Introduccin
Aplicacin2
Aplicacin3
API1
API2
API3
API1
API2
API3
API1
API2
API3
SGBD1
SGBD2
SGBD3
Introduccin
ACCESO ODBC
ACCESO ODBC
ACCESO ODBC
ODBC
SGBD1
SGBD2
SGBD3
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Arquitectura
Aplicaciones
Aplicaciones Clientes Carga y llama a los drivers Traductor entre ordenes ODBC y especificas del origen de datos. Hace falta decir algo de esto???
El Administrador de Drivers
Los Drivers
Arquitectura
Cliente
Aplicacin Aplicacin
Cliente
Protocolo de Datos
SGBD
Servidor
Orgenes de Datos
Arquitectura
Aplicacin
Archivo Access
ODBC Driver
SQL Server
Oracle
Oracle Driver Access Driver
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
DSN de Usuario: Solo visibles al usuario actual DSN de Sistema: Visible a todos los usuarios del sistema DSN de Archivo: Guarda la configuracin en un archivo
Trazas
Agrupacin de conexiones
demo
Ver Administrador de Orgenes de Datos Agregar un origen de datos como DSN del sistema
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Clase OdbcConnection
ConnectionString
Se puede pasar en el constructor o a la propiedad con el mismo nombre. Conexin a SQL Server con Usuario y Contrasea:
Driver={SQL Server};Server=(local)\NetSDK; Database=Northwind;UID=MyUserName;PWD=MyPassword;
Clase OdbcConnection
demo
Crear una aplicacin que se conecte a SQL Server Mostrar informacin que ofrece la clase OdbcConnection
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Ejecucin de Consultas
Clase OdbcCommand
Representa sentencias SQL y Llamadas a Procedimiento Remoto a ejecutar en un Origen de Datos. Mtodo ExecuteNonQuery()
Ejecuta sentencias que no devuelven filas (INSERT,). Devuelve el nmero de filas afectadas.
Mtodo ExecuteScalar()
Mtodo ExecuteReader()
Ejecucin de Consultas
{CALL MiProcRem(?)}
Ej. OdbcParameter param = New OdbcParameter(@campo1,OdbcType.NChar,5); param.Value = ABCDE;
Ejecucin de Consultas
demo
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Recuperacin de Datos
Clase OdbcDataReader
Permite leer un resultado de una consulta Solo en direccin hacia delante y uno a uno
Mtodo Read() lee la siguiente fila Item -> Indexador para acceder a los elementos de la fila por nombre y/o por posicin
Recuperacin de Datos
Clase OdbcDataAdapter
Permite obtener todos los resultados de una consulta. Se almacena en un objeto DataSet
DataSet es un objeto que almacena DataTables Es capaz de representar relaciones, restricciones, etc. Muy til para trabajo Off-Line Puede volcarse toda la informacin a XML y viceversa
Recuperacin de Datos
Clase OdbcDataAdapter
Permite actualizar la base de datos con los cambios que se han producido en el DataSet
De forma manual modificando las propiedades SelectCommand, InsertCommand, UpdateCommand y DeleteCommand De forma automtica con OdbcCommandBuilder, aunque solo para tablas simples
Recuperacin de Datos
demo
Modificar el programa anterior para recuperar datos de diferentes formas Llamar a un procedimiento remoto y recuperar los datos que devuelve
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Transacciones
Clase OdbcTransaction
Mtodo BeginTransaction()
Se le puede pasar el nivel de aislamiento, sino utiliza el por defecto del driver.
Se le pasa una referencia al objeto OdbcCommand que haga las acciones de la transaccin. Mtodos Commit() y Rollback() para aceptar o deshacer la transaccin respectivamente.
Transacciones
demo
Modificar el programa anterior para lanzar una transaccin Hacer que la transaccin falle y se llame a RollBack()
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Conclusin
ODBC es una capa intermedia entre las aplicaciones y los SGBD que simplifica el acceso a datos a las aplicaciones. Ya en desuso.
Claro ejemplo, MS no lo incluye en la plataforma .NET, sino que lo deja como una librera externa, apostando ms por OLEDB.
El modelo de acceso a datos de la plataforma .NET (ADO.NET) basado en Providers simplifica el acceso a datos y lo hace muy intiutivo. En .NET existe un Provider para SQL Server.
ndice
Introduccin Arquitectura El Administrador de Orgenes de Datos Conexin a Origen de Datos Ejecucin de Consultas Recuperacin de Datos Transacciones Conclusin Referencias
Referencias
Microsoft Library
http://msdn.microsoft.com/library
Inside ODBC
http://www.microsoft.com/downloads/details.aspx?displaylang=es&Fami lyID=6ccd8427-1017-4f33-a062-d165078e32b1
Apndice
BigInt, Binary, Bit, Char, Date, DateTime, Decimal, Double, Image, Int, NChar, NText, Numeric, NVarChar, Real, SmallDateTime, SmallInt, Text, Time, Timestamp, TinyInt, UniqueIdentifier, VarBinary, VarChar.
Preguntas?