OLE DB

Integrantes: Ing Sistemas y Telemática - V Ciclo "B" 
  • Denilson Flores Ramirez
  • Yon Leles Sanchez Morales
  • Rosa Esther Chavez Fernandez

OLE DB


Definición:   

OLE DB (algunas veces escrito como OLEDB u OLE-DB) es la sigla de Object Linking and Embedding for Databases ("Enlace e incrustación de objetos para bases de datos") y es una tecnología desarrollada por Microsoft usada para tener acceso a diferentes fuentes de información, o bases de datos, de manera uniforme.

Arquitectura:

OLE DB permite separar los datos de la aplicación que los requiere. Esto se hizo así ya que diferentes aplicaciones requieren acceso a diferentes tipos y almacenes de datos, y no necesariamente desean conocer cómo tener acceso a cierta funcionalidad con métodos de tecnologías específicas. OLE DB está conceptualmente dividido en consumidores y proveedores; el consumidor es la aplicación que requiere acceso a los datos y el proveedor es el componente de software que expone una interfaz OLE DB a través del uso del Component Object Model (COM)

Data Set:

El DataSet es una representación de datos residente en memoria que proporciona una modelo de programación relacional coherente independientemente del origen de datos que contiene. El DataSet contiene en sí, un conjunto de datos que han sido volcados desde el proveedor de datos.

En general y en su versión más simple, un DataSet corresponde a los contenidos de una única tabla de base de datos o una única matriz de datos estadística, donde cada columna de la tabla representa una variable en particular, y cada fila representa a un miembro determinado del conjunto de datos en cuestión.

Un DataSet contiene los valores para cada una de las variables, como por ejemplo la altura y el peso de un objeto, que corresponden a cada miembro del conjunto de datos. Cada uno de estos valores se conoce con el nombre de dato. El DataSet puede incluir datos para uno o más miembros en función de su número de filas.

Clases de OLEDB:

Compatibilidad de OLE DB en MFC consta de actualmente la clase COLEDBRecordView. COleDBRecordView muestra los registros de una base de datos en controles, con una vista de formulario directamente conectada a un objeto de CRowset . Para obtener más información sobre las plantillas de consumidor OLE DB.

Referencia de plantillas de consumidor OLE DB:

Las plantillas de consumidor OLE DB contienen clases siguientes. El material de referencia también incluye temas de macros para plantillas de consumidor OLE DB.




·         Clases de sesión

CDataConnection
Administra la conexión con el origen de datos. Esta es una clase útil para crear clientes porque encapsula objetos necesarios (origen de datos y sesión) y algunos de trabajo necesario al conectarse a un origen de datos.
CDataSource
Corresponde al origen de datos OLE DB un objeto, que representa una conexión a través de un proveedor a un origen de datos. Una o varias sesiones de base de datos, cada representada por un objeto de CSession , pueden tener lugar en una sola conexión.
CEnumerator
Corresponde al enumerador OLE DB un objeto, que recupera información del conjunto de filas sobre orígenes de datos disponibles.
CEnumeratorAccessor
Utilizado por CEnumerator para tener acceso a los datos del conjunto de filas de enumeradores. Este conjunto de filas está formado por los orígenes de datos y los enumeradores visible del enumerador actual.
CSession
Representa una sesión única de acceso a la base de datos. Una o más sesiones pueden estar
asociadas a cada objeto de CDataSource.

·         Clases de descriptores de acceso

CAccessor
Se utiliza para los registros que están enlazados estáticamente a un origen de datos. Utilice esta clase de descriptor de acceso si conoce la estructura del origen de datos.
CAccessorBase
Clase base para todas las clases de descriptor de acceso.
CDynamicAccessor
Un descriptor de acceso que puede crear en tiempo de ejecución, basándose en la información de columna del conjunto de filas. Utilice esta clase para recuperar datos si no conoce la estructura del origen de datos.
CDynamicParameterAccessor
Un descriptor de acceso que se puede utilizar cuando los tipos de comando son
desconocidos. Obtiene la información de parámetros llamando a la interfaz de ICommandWithParameters , si el proveedor admite la interfaz.
CDynamicStringAccessor
Permite obtener acceso a un origen de datos cuando no tiene conocimiento de la estructura subyacente de la base de datos.
CDynamicStringAccessorA
Similar
CDynamicStringAccessor salvo que esta clase solicita el primero del almacén de datos como datos de cadena ANSI.
CDynamicStringAccessorW
Similar a CDynamicStringAccessor salvo que esta clase solicita el primero del almacén de datos como datos de cadena Unicode.
CManualAccessor
Un descriptor de acceso con los métodos para administrar columnas y parámetros de comando. Con esta clase, puede utilizar los tipos de datos mientras el proveedor puede convertir el tipo.
CNoAccessor
Se puede utilizar como argumento de plantilla cuando no desea la clase para admitir parámetros o generar columnas.
CXMLAccessor
Similar a 
CDynamicStringAccessor salvo que esta clase convierte todos los datos acceso de almacén como datos (etiquetados) XML- con formato.

·         Clases de conjuntos de filas

CAccessorRowset
Encapsula un conjunto de filas y sus descriptores de acceso asociados.
CArrayRowset
Se utiliza para tener acceso a elementos de un conjunto de filas mediante sintaxis de matriz.
CBulkRowset
Se utiliza para capturar y manipular filas de forma masiva recuperar múltiples identificadores de fila con una única llamada.
CNoRowset
Se puede utilizar como argumento de plantilla si el comando no devuelve un conjunto de filas.
CRestrictions
Se utiliza para especificar las restricciones de conjuntos de filas de esquema.
CRowset
Se utiliza para manipular, para establecer, y recuperar datos del conjunto de filas.
CStreamRowset
Devuelve un objeto
de ISequentialStream en lugar de un conjunto de filas; se utiliza el método de de lectura para recuperar datos en formato XML. (SQL Server 2000 hace que el formato; observe que esta característica sólo funciona con SQL Server 2000.)
IRowsetNotifyImpl
Proporciona una implementación ficticia para 
IRowsetNotify, con las funciones vacías para los métodos OnFieldChange, OnRowChange, y OnRowsetChangede IRowsetNotify .
Las plantillas OLE DB proporcionan un conjunto de clases que corresponden a OLE DB conjuntos de filas de esquema.

·         Clases de comando

CCommand
Se utiliza para establecer y ejecutar un comando parámetro- basado en OLE DB. Para abrir simplemente un conjunto de filas, utilice 
CTable en su lugar.
CMultipleResults
Usa como argumento de plantilla para la plantilla de 
CCommand cuando desee que el comando de controlar varios conjuntos de resultados.
CNoAccessor
Usa como argumento de plantilla para las clases de plantilla, como 
CCommand y CTable, que toman un argumento de la clase de descriptor de acceso. Utilice CNoAccessor si no desea que la clase para admitir parámetros o generar columnas.
CNoMultipleResults
Usa como argumento de plantilla para la plantilla de 
CCommand cuando desee que el comando de controlar un único conjunto de filas.CNoMultipleResults es el valor predeterminado para el argumento de plantilla.
CNoRowset
Usa como argumento de plantilla para 
CCommand o CTable si el comando o la tabla no devuelve un conjunto de filas.
CTable
Se utiliza para tener acceso a un conjunto de filas sin parámetros.

·         Clases de propiedad

CDBPropIDSet
Utilizado para pasar una matriz de los id. de propiedad para los que el consumidor desea información de la propiedad. Las propiedades pertenecen a un conjunto de propiedades.
CDBPropSet
Se utiliza para establecer las propiedades de un proveedor.

·         Clase de marcador

CBookmark
Utilizado como índice para tener acceso a los datos de un conjunto de filas.

·         Tipo de error

CDBErrorInfo
Se utiliza para recuperar la información de error de OLE DB.

Ejemplos de OLEDB:
Ejemplos de funciones de tabla de OLE DB (base de datos de enlace e integración de objetos)

Nombre del programa de ejemplo
Descripción del programa
inora.db2
INTERSOLV Oracle8 OLE DB Provider
jet.db2
Proveedor Microsoft.Jet.OLEDB.3.51
jetsrv.db2
Funcionamiento de base de datos federada con Microsoft.Jet.OLEDB.4.0 Provider.
mapi.db2
INTERSOLV Connect OLE DB para MAPI
msdaora.db2
Proveedor Microsoft OLE DB para Oracle
msdasql.db2
Proveedor Microsoft OLE DB para controladores ODBC
msidxs.db2
Proveedor Microsoft OLE DB Index Server
notes.db2
INTERSOLV Connect OLE DB para Notes
sampprov.db2
Proveedor de ejemplo Microsoft OLE DB
sqloledb.db2
Proveedor Microsoft OLE DB para SQL Server

En el ejemplo siguiente se usa el OleDbCommand, junto OleDbDataAdapter y OleDbConnection, para seleccionar filas de una base de datos de Access. El relleno DataSet a continuación, se devuelve. En el ejemplo se pasa un inicializar DataSet, una cadena de conexión, una cadena de consulta que es una instrucción SELECT de SQL y una cadena que es el nombre de la tabla de base de datos de origen.

public void ReadMyData(string connectionString)
{
string queryString = "SELECT OrderID, CustomerID FROM Orders";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();

while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1));
}
// always call Close when done reading.
reader.Close();
}
}

Resumen

Definición

OLE DB es la sigla de Object Linking and Embedding for Databases y es una tecnología desarrollada por Microsoft usada para tener acceso a diferentes fuentes de información, o bases de datos, de manera uniforme.

Arquitectura

OLE DB permite separar los datos de la aplicación que los requiere. Esto se hizo así ya que diferentes aplicaciones requieren acceso a diferentes tipos y almacenes de datos, y no necesariamente desean conocer cómo tener acceso a cierta funcionalidad con métodos de tecnologías específicas.

Data Set

El DataSet es una representación de datos residente en memoria que proporciona una modelo de programación relacional coherente independientemente del origen de datos que contiene. Cada uno de estos valores se conoce con el nombre de dato. El DataSet puede incluir datos para uno o más miembros en función de su número de filas.

Clases de OLEDB

Para obtener más información sobre las plantillas de consumidor OLE DB.

CDataConnection

Esta es una clase útil para crear clientes porque encapsula objetos necesarios y algunos de trabajo necesario al conectarse a un origen de datos.

CDataSource

Una o varias sesiones de base de datos, cada representada por un objeto de CSession ,pueden tener lugar en una sola conexión.

CEnumeratorAccessor

Utilizado por CEnumerator para tener acceso a los datos del conjunto de filas de enumeradores. Este conjunto de filas está formado por los orígenes de datos y los enumeradores visible del enumerador actual.

CDynamicAccessor

Un descriptor de acceso que puede crear en tiempo de ejecución, basándose en la información de columna del conjunto de filas.

CDynamicStringAccessor

Permite obtener acceso a un origen de datos cuando no tiene conocimiento de la estructura subyacente de la base de datos.

CDynamicStringAccessorA

Similar a CDynamicStringAccessor salvo que esta clase solicita el primero del almacén de datos como datos de cadena ANSI.

CDynamicStringAccessorW

Similar a CDynamicStringAccessor salvo que esta clase solicita el primero del almacén de datos como datos de cadena Unicode.

CManualAccessor

Un descriptor de acceso con los métodos para administrar columnas y parámetros de comando. Con esta clase, puede utilizar los tipos de datos mientras el proveedor puede convertir el tipo. Se puede utilizar como argumento de plantilla cuando no desea la clase para admitir parámetros o generar columnas.

CXMLAccessor

Similar a CDynamicStringAccessor salvo que esta clase convierte todos los datos acceso de almacén como datos XML- con formato.

CArrayRowset

Se utiliza para tener acceso a elementos de un conjunto de filas mediante sintaxis de matriz.

CBulkRowset

Se utiliza para capturar y manipular filas de forma masiva recuperar múltiples identificadores de fila con una única llamada.

CRestrictions

Se utiliza para especificar las restricciones de conjuntos de filas de esquema.

[...]

Se utiliza para establecer y ejecutar un comando parámetro- basado en OLE DB. Para abrir simplemente un conjunto de filas, utilice CTable en su lugar.

CMultipleResults

Usa como argumento de plantilla para la plantilla de CCommand cuando desee que el comando de controlar varios conjuntos de resultados. Utilice CNoAccessor si no desea que la clase para admitir parámetros o generar columnas.

CNoMultipleResults

Usa como argumento de plantilla para la plantilla de CCommand cuando desee que el comando de controlar un único conjunto de filas. CNoMultipleResults es el valor predeterminado para el argumento de plantilla.

CTable

Se utiliza para tener acceso a un conjunto de filas sin parámetros.

CDBPropIDSet

Utilizado para pasar una matriz de los id.

CBookmark

Utilizado como índice para tener acceso a los datos de un conjunto de filas.

 Summary


Definition

OLE DB is Object Linking's abbreviation and Embedding for Databases and is a technology developed by Microsoft used to have access to different sources(fountains) of information, or databases, in a uniform way.

Architecture

OLE DB allows to separate the information of the application that needs them. This became like that since different applications need access to different types and stores of information, and not necessarily they want to know how to have access to certain functionality with methods of specific technologies.

Byline Set

The DataSet is a resident representation of information in memory(report) that there provides a model of relational coherent programming independently with the origin of information that it(he,she) contains. Each of these values is known by the name of information. The DataSet can include information for one or more members depending on his(her,your) number of rows.

OLEDB's classes

To obtain more information about the consumer's insoles(staff) OLE DB.

CDataConnection

This one is a useful class to create clients because it(he,she) encases necessary objects and some of necessary work on having connected to an origin of information.

CDataSource

One or several meetings of database, every represented one for CSession's object, can take place in an alone connection.

CEnumeratorAccessor

Used by CEnumerator to have access to the information of the set of rows of enumeradores. This set of rows is formed(trained) by the origins of information and visible enumeradores of the current enumerador.

CDynamicAccessor

A describer of access that it(he,she) can create in time of execution, being based on the column information of the set of rows.

CDynamicStringAccessor

It(He,She) allows to obtain access to an origin of information when it(he,she) does not have knowledge of the underlying structure of the database.

CDynamicStringAccessorA

Similar to CDynamicStringAccessor except that this class requests the first one of the store of information as information of chain ANSI.

CDynamicStringAccessorW

Similar to CDynamicStringAccessor except that this class requests the first one of the store of information as information of chain Unicode.

CManualAccessor

A describer of access with the methods to administer columns and parameters of command. With this class, it(he,she) can use the types of information while the supplier can turn the type. It is possible to use as argument of insole(staff) when he(she) does not wish the class to admit parameters or generate columns.

CXMLAccessor

Similar to CDynamicStringAccessor except that this class turns all the information access of store as information XML - with format.

CArrayRowset

It(He,She) is in use for having access to elements of a set of rows by means of syntax of counterfoil.

CBulkRowset

It(He,She) is in use for capturing and manipulating rows of massive form for recovering multiple identifiers of row with the only(unique) call.

CRestrictions

It(He,She) is in use for specifying the restrictions of sets of rows of scheme.

 Recomendaciones

En el caso aplicaciones nuevas, si está utilizando un lenguaje de programación administrado, como Microsoft Visual C# o Visual Basic, y necesita obtener acceso a las nuevas características introducidas en SQL Server, debería utilizar el proveedor de datos de .NET Framework para SQL Server, que forma parte de .NET Framework.
Si está desarrollando una aplicación basada en COM y necesita obtener acceso a las nuevas características introducidas en SQL Server, debe usar el controlador OLE DB para SQL Server. Si no necesita obtener acceso a las nuevas características de SQL Server, puede seguir utilizando Windows Data Access Components (WDAC).

Para las aplicaciones existentes de OLE DB, el problema principal es si necesita tener acceso a las nuevas características de SQL Server. Si su aplicación es antigua y no necesita las nuevas características de SQL Server, puede seguir usando WDAC. Sin embargo, si es necesario tener acceso a esas características nuevas, como el tipo de datos xml, debe usar el controlador OLE DB para SQL Server.
·        
 Conclusiones

Controlador de OLE DB para SQL Server es una tecnología que puede utilizar para tener acceso a datos en un SQL Server base de datos. Para obtener una explicación de las tecnologías de acceso a datos diferentes, consulte mapa de carreteras de tecnologías de acceso de datos.

 Apreciación del Equipo

Proporciona un acceso a los datos coherente y de gran rendimiento, y permite abordar una gran variedad de necesidades de desarrollo.

Es un estándar abierto para el acceso a todo tipo de datos, tanto relacionales como no relacionales.

Define interfaces nativas diseñadas para ser lo suficientemente extensas y extensibles como para exponer todo el comportamiento.


Controlador OLE DB para SQL Server  admite el aislamiento de transacción confirmada mediante las versiones de fila, pero sólo controlador OLE DB para el aislamiento de transacción de instantánea de SQL Server admite de lectura. (En términos de programación, el aislamiento de transacción de instantánea con versiones de fila es igual que la transacción de lectura confirmada).

·        


Comentarios