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.
1. Clases de Ole DB
1.1.
OleDb
Connection
Representa una conexión única a un origen de
datos. En el caso de un sistema de bases de datos de cliente y servidor,
equivale a una conexión de red al servidor. Dependiendo de la funcionalidad que
admita el proveedor OLE DB nativo, algunos métodos o propiedades de un objeto
OleDbConnection pueden no estar disponibles
Ø Constructores
Nombre
|
Descripción
|
OleDbConnection()
|
Inicializa una nueva instancia de la clase
OleDbConnection.
|
OleDbConnection(String)
|
Inicializa una nueva instancia de la clase
OleDbConnection con la cadena de conexión especificada.
|
Ø Propiedades
Nombre
|
Descripción
|
ConnectionString
|
Obtiene o establece
la cadena que se utiliza para abrir una base de datos.(Reemplaza a DbConnection.ConnectionString).
|
ConnectionTimeout
|
Obtiene el tiempo
de espera para intentar establecer una conexión antes de detenerse y generar
un error.(Reemplaza a DbConnection.ConnectionTimeout).
|
Container
|
Obtiene IContainer
que contiene Component.(Heredado de Component.)
|
Database
|
Obtiene el nombre
de la base de datos actual o de la que se va a utilizar una vez que se abre
la conexión.(Reemplaza a DbConnection.Database).
|
DataSource
|
Obtiene el nombre
de archivo o el nombre de servidor del origen de datos.(Reemplaza
aDbConnection.DataSource).
|
Provider
|
Obtiene el nombre
del proveedor OLE DB especificado en la cláusula "Provider= " de la
cadena de conexión.
|
ServerVersion
|
Obtiene una cadena
que contiene la versión del servidor al que está conectado el
cliente.(Reemplaza aDbConnection.ServerVersion).
|
Site
|
Obtiene o establece
ISite de Component.(Hereda do de Component.)
|
State
|
Obtiene el estado
actual de la conexión.(Reemplaza a DbConnection.State).
|
Ø Metodos
Nombre
|
Descripción
|
BeginTransaction()
|
Inicia
una transacción de base de datos con el valor actual de IsolationLevel
|
BeginTransaction(IsolationLevel)
|
Inicia
una transacción de base de datos con el nivel de aislamiento especificado.
|
ChangeDatabase(String)
|
Cambia
la base de datos actual de una conexión OleDbConnection abierta.(Re emplaza a
DbConnection.ChangeDatabase(Strin g)).
|
Close()
|
Cierra
la conexión al origen de datos.(Reemplaza a DbConnection.Close())
|
CreateCommand()
|
Crea
y devuelve un objeto OleDbCommand asociado a OleDbConnection.
|
CreateObjRef(Type)
|
Crea
un objeto que contiene toda la información relevante necesaria para generar
un proxy utilizado para comunicarse con un objeto remoto.(Heredado
deMarshalByRefObject.)
|
Dispose()
|
Libera
todos los recursos utilizados por Component.(Heredado de Component.)
|
EnlistDistributedTransaction(ITransaction)
|
Se
da de alta en la transacción especificada como una transacción distribuida.
|
EnlistTransaction(Transaction)
|
Se
da de alta en la transacción especificada como una transacción
distribuida.(Reemplaza a DbConnection.EnlistTransaction(Trans action)).
|
Equals(Object)
|
Determina
si el objeto especificado es igual al objeto actual.(Heredado de Object.)
|
GetHashCode()
|
Sirve
como una función hash para un tipo en particular. (Heredado de Object.)
|
GetLifetimeService()
|
Recupera
el objeto de servicio de duración actual que controla la directiva de
duración de esta instancia.(Heredado de MarshalByRefObject.)
|
GetOleDbSchemaTable(Guid,
Object())
|
Devuelve
información de esquema desde un origen de datos tal y como indica un GUID, y
después de aplicar las restricciones especificadas.
|
GetSchema()
|
Devuelve
información de esquema para el origen de datos de OleDbConnection.(Reemplaza
a DbConnection.GetSchema()).
|
GetSchema(String)
|
Devuelve
información de esquema para el origen de datos de OleDbConnectionutilizando
la cadena especificada para el nombre del esquema.(Reemplaza
aDbConnection.GetSchema(String)).
|
GetSchema(String,
String())
|
Devuelve
información de esquema para el origen de datos de OleDbConnectionutilizando
la cadena especificada para el nombre de esquema y la matriz de cadena
determinada para los valores de restricción.(Reemplaza
aDbConnection.GetSchema(String, String ())).
|
GetType()
|
Obtiene
el Type de la instancia actual. (Heredado de Object.)
|
InitializeLifetimeService()
|
Obtiene
un objeto de servicio de duración para controlar la directiva de duración de
esta instancia.(Heredado de MarshalByRefObject.)
|
Open()
|
Abre
una conexión de base de datos con los valores de propiedad que
especificaConnectionString.(Reemplaza a DbConnection.Open()).
|
OpenAsync()
|
Una
versión asincrónica de Open, que abre una conexión a bases de datos con los
valores especificados por ConnectionString.Este método invoca el método
virtualOpenAsync con CancellationToken.None.(Heredado de DbConnection.)
|
OpenAsync(CancellationToken)
|
Esta
es la versión asincrónica de Open.Los proveedores lo deben reemplazar con una
implementación apropiada.El token de cancelación se puede aceptar
opcionalmente. La implementación predeterminada invoca la llamada sincrónica
a Open y devuelve una tarea completada.La implementación predeterminada
devolverá una tarea cancelada si se pasa un cancellationToken ya
cancelado.Las excepciones producidas por Open se comunicarán mediante la
propiedad Task Exception devuelta. No invoque otros métodos y propiedades del
objeto DbConnection hasta que se haya completado la tarea devuelta.(Heredado
de DbConnection.)
|
ReleaseObjectPool()
|
Indica
que la agrupación de objetos OleDbConnection podrá liberarse cuando se libere
la última conexión subyacente.
|
ResetState()
|
Actualiza
la propiedad State del objeto OleDbConnection.
|
ToString()
|
Devuelve
un objeto String que contiene el nombre del objeto Component, en caso de que
exista.Este método no debe reemplazarse.(Heredado deComponent.)
|
Ø Eventos
Nombre
|
Descripción
|
Disposed
|
Se produce cuando el componente se elimina
mediante una llamada al método Dispose. (Heredado de Component.)
|
InfoMessage
|
Se produce cuando el proveedor envía un
mensaje de advertencia o de información
|
StateChange
|
Se produce cuando cambia el estado del
evento.(Heredado de DbConnection.)
|
1.2.
OleDbDataAdapter
·
Constructores
Nombre
|
Descripción
|
Inicializa una nueva instancia de la clase OleDbDataAdapter.
|
|
Inicializa una nueva instancia de la clase OleDbDataAdapter con el
objeto OleDbCommandespecificado como propiedad SelectCommand
|
|
·
Propiedades
Nombre
|
Descripción
|
|
Obtiene o establece un valor que indica si se llama al
método AcceptChanges en un objeto DataRowdespués de agregarlo a DataTable durante cualquiera de las operaciones Fill. (Se hereda de DataAdapter).
|
|
Obtiene o establece si se llama a AcceptChanges durante una operación Update. (Se hereda de DataAdapter).
|
|
Obtiene o establece un valor que especifica si debe generarse
una excepción cuando se produce un error durante una actualización de fila. (Se
hereda de DataAdapter).
|
|
Obtiene o establece una instrucción SQL o un procedimiento
almacenado para eliminar registros del conjunto de datos.
|
|
|
|
|
|
Obtiene o establece el comportamiento del comando utilizado
para rellenar el adaptador de datos. (Se hereda
de DbDataAdapter).
|
Obtiene o establece el valor de LoadOption que determina cómo rellena el adaptador el objeto DataTablea partir de DbDataReader. (Se hereda de DataAdapter).
|
|
Obtiene o establece la instrucción SQL o el procedimiento
almacenado utilizado para insertar nuevos registros en el origen de datos.
|
|
Determina la acción que hay que llevar a cabo si los datos
entrantes no tienen una tabla o una columna coincidente. (Se
hereda de DataAdapter).
|
|
Determina la acción que hay que llevar a cabo cuando el
esquema DataSet existente no coincide con los datos entrantes. (Se
hereda de DataAdapter).
|
|
Obtiene o establece un valor que indica si el método Fill debe devolver
valores específicos del proveedor o valores comunes conforme a CLS. (Se
hereda de DataAdapter).
|
|
Obtiene o establece la instrucción SQL o el procedimiento
almacenado utilizado para seleccionar registros del origen de datos.
|
|
Obtiene una colección que proporciona la asignación principal
entre una tabla de origen y DataTable. (Se hereda de DataAdapter).
|
|
Obtiene o establece un valor que habilita o deshabilita la
compatibilidad con el procesamiento por lotes, y especifica el número de
comandos que se pueden ejecutar en un lote. (Se hereda
de DbDataAdapter).
|
|
Obtiene o establece la instrucción SQL o el procedimiento
almacenado utilizado para actualizar registros del origen de datos.
|
·
Métodos
Nombre
|
Descripción
|
Crea un objeto que contiene toda la información relevante
necesaria para generar un proxy utilizado para comunicarse con un objeto
remoto. (Se hereda de MarshalByRefObject).
|
|
Libera los
recursos no administrados que utiliza DbDataAdapter y, opcionalmente, también libera los recursos
administrados. (Se hereda de DbDataAdapter).
|
|
Agrega filas en un intervalo especificado de DataSet o las actualiza para hacerlas coincidir con las filas
del origen de datos utilizando el nombre de DataTable. (Se hereda de DbDataAdapter).
|
·
Eventos
Nombre
|
Descripción
|
Se devuelve
cuando se produce un error durante una operación de relleno. (Se
hereda de DataAdapter).
|
|
Se produce durante Update después de que se ejecute un comando en el origen de
datos. Se ha producido un intento de
actualización. Por lo tanto, se produce el
evento.
|
|
Se produce durante el método Update, antes de que se ejecute un comando en el origen de datos. Se ha producido un intento de actualización. Por lo tanto, se produce el evento.
|
1.3.
OleDbCommand
·
Sintaxis
VB
'Declaración
Public NotInheritable Class OleDbCommand _
Inherits DbCommand _
Implements ICloneable, IDbCommand, IDisposable
'Uso
Dim instance As OleDbCommand
J#
public final class OleDbCommand extends DbCommand implements ICloneable,
IDbCommand, IDisposable
JScript
public final class OleDbCommand extends DbCommand implements ICloneable, IDbCommand, IDisposable
·
Comentarios
Cuando se crea una
instancia de OleDbCommand, las propiedades de
lectura y escritura se establecen en sus valores iniciales. Para obtener una
lista de esos valores, vea el constructor OleDbCommand.
OleDbCommand tiene los siguientes métodos que
ejecutan comandos en el origen de datos:
Elemento
|
Descripción
|
Ejecuta
comandos que devuelven filas. ExecuteReader podría no tener el
efecto deseado si se utiliza para ejecutar comandos como las instrucciones
SQL SET.
|
|
Ejecuta
comandos como instrucciones INSERT, DELETE, UPDATE y SET de SQL.
|
|
Recupera
un único valor de una base de datos; por ejemplo, un valor agregado.
|
Se puede restablecer el
valor de la propiedad CommandText y volver a utilizar
el objeto OleDbCommand. Sin embargo, es
necesario cerrar OleDbDataReader para poder ejecutar
un comando nuevo o previo.
Si se genera una OleDbException grave (por ejemplo,
un nivel de gravedad de SQL Server de 20 o superior) por parte del método que
ejecuta un OleDbCommand, OleDbConnection, se podría cerrar la
conexión. Sin embargo, el usuario puede volver a abrir la conexión y continuar.
·
Ejemplos
En el ejemplo siguiente se
utiliza OleDbCommand, junto con OleDbDataAdapter y OleDbConnection, para seleccionar filas
de una base de datos de Access. A continuación, se devuelve DataSet rellenado. En el
ejemplo se pasa DataSet inicializado, 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 la base de datos de origen.
VB
Public Sub ReadMyData(ByVal connectionString As String)
Dim queryString As String = "SELECT OrderID, CustomerID FROM Orders"
Using connection As New OleDbConnection(connectionString)
Dim command As New OleDbCommand(queryString, connection)
connection.Open()
Dim reader As OleDbDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine(reader.GetInt32(0).ToString() + ", " _
+ reader.GetString(1))
End While
' always call Close when done reading.
reader.Close()
End Using
End Sub
1.4. OleDbDataReader
·
Propiedades
Nombre
|
Descripción
|
|
![]() |
Obtiene un valor que indica la profundidad de anidamiento de
la fila actual.(Invalida DbDataReader.Depth).
|
|
![]() |
||
![]() |
Obtiene un valor que indica si la OleDbDataReader contiene
una o más filas.(Invalida DbDataReader.HasRows).
|
|
![]() |
||
![]() |
Obtiene el valor de la columna especificada en su formato
nativo dado el ordinal de columna.(Invalida DbDataReader.Item(Int32)).
|
|
![]() |
Obtiene el valor de la columna especificada en su formato
nativo dado el nombre de columna.(Invalida DbDataReader.Item(String)).
|
|
![]() |
Obtiene el número de filas cambiadas, insertadas o eliminadas
mediante la ejecución de la instrucción SQL.(Invalida DbDataReader.RecordsAffected).
|
|
![]() |
Obtiene el número de campos de OleDbDataReader que no
están ocultos.(Invalida DbDataReader.VisibleFieldCount).
|
·
Métodos
Nombre
|
Descripción
|
|
|
||
|
Crea un objeto que contiene toda la información relevante
necesaria para generar a un proxy que se utiliza para comunicarse con un
objeto remoto.(Heredado de MarshalByRefObject).
|
|
|
Libera todos los recursos usados por la instancia actual de la
clase DbDataReader.(Heredado
de DbDataReader).
|
|
|
||
|
Obtiene el valor de la columna especificada como tipo Boolean.(Invalida DbDataReader.GetBoolean(Int32)).
|
|
|
||
|
Lee una secuencia de bytes desde el desplazamiento de la
columna especificada en el búfer como matriz, comenzando en el desplazamiento
de búfer dado.(Invalida DbDataReader.GetBytes(Int32, Int64, Byte(), Int32, Int32)).
|
|
|
Obtiene el valor de la columna especificada como un carácter.(Invalida DbDataReader.GetChar(Int32)).
|
|
|
Lee una secuencia de caracteres del desplazamiento de columna
especificado en el búfer como matriz, comenzando en el desplazamiento de
búfer dado.(Invalida DbDataReader.GetChars(Int32, Int64, Char(), Int32, Int32)).
|
|
|
Devuelve un OleDbDataReader objeto para el ordinal de columna solicitado.
|
|
|
||
|
Obtiene el valor de la columna especificada como un
objeto DateTime.(Invalida DbDataReader.GetDateTime(Int32)).
|
|
|
Obtiene el valor de la columna especificada como un
objeto Decimal.(Invalida DbDataReader.GetDecimal(Int32)).
|
|
|
Obtiene el valor de la columna especificada como un número de
punto flotante de precisión doble.(Invalida DbDataReader.GetDouble(Int32)).
|
|
|
Devuelve una interfaz IEnumerator que se
puede utilizar para recorrer en iteración las filas en el lector de datos.(Invalida DbDataReader.GetEnumerator()).
|
|
|
||
|
Sincrónicamente, obtiene el valor de la columna especificada
como un tipo.(Heredado de DbDataReader).
|
|
|
Obtiene el valor de la columna especificada como un tipo de
forma asincrónica.(Heredado de DbDataReader).
|
|
|
Obtiene el valor de la columna especificada como un tipo de
forma asincrónica.(Heredado de DbDataReader).
|
|
|
Obtiene el valor de la columna especificada como un número de
punto flotante de precisión sencilla.(Invalida DbDataReader.GetFloat(Int32)).
|
|
|
Obtiene el valor de la columna especificada como un
identificador único global (GUID).(Invalida DbDataReader.GetGuid(Int32)).
|
|
|
||
|
Obtiene el valor de la columna especificada como un entero de
16 bits con signo.(Invalida DbDataReader.GetInt16(Int32)).
|
|
|
Obtiene el valor de la columna especificada como un entero de
32 bits con signo.(Invalida DbDataReader.GetInt32(Int32)).
|
|
|
Obtiene el valor de la columna especificada como un entero de
64 bits con signo.(Invalida DbDataReader.GetInt64(Int32)).
|
|
|
Recupera el objeto de servicio de duración actual que controla
la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).
|
|
|
||
|
Obtiene el índice de columna, dado el nombre de la columna.(Invalida DbDataReader.GetOrdinal(String)).
|
|
|
Devuelve el tipo de campo específico del proveedor de la
columna especificada.(Heredado de DbDataReader).
|
|
|
Obtiene el valor de la columna especificada como una instancia
de Object.(Heredado
de DbDataReader).
|
|
|
Obtiene todas las columnas de atributos específicos del
proveedor en la colección para la fila actual.(Heredado de DbDataReader).
|
|
|
Devuelve un objeto DataTable que
describe los metadatos de columna del OleDbDataReader.(Invalida DbDataReader.GetSchemaTable()).
|
|
|
||
|
Obtiene el valor de la columna especificada como una cadena.(Invalida DbDataReader.GetString(Int32)).
|
|
|
||
|
||
|
||
|
Obtiene el valor de la columna en el ordinal especificado en
su formato nativo.(Invalida DbDataReader.GetValue(Int32)).
|
|
|
Rellena una matriz de objetos con los valores de columna de la
fila actual.(Invalida DbDataReader.GetValues(Object())).
|
|
|
Obtiene un objeto de servicio de duración para controlar la
directiva de duración de esta instancia.(Heredado de MarshalByRefObject).
|
|
|
Obtiene un valor que indica si la columna contiene valores que
no existen o ausentes.(Invalida DbDataReader.IsDBNull(Int32)).
|
|
|
Una versión asincrónica de IsDBNull, que obtiene
un valor que indica si la columna contiene valores inexistentes o ausentes.(Heredado
de DbDataReader).
|
|
|
Una versión asincrónica de IsDBNull, que obtiene
un valor que indica si la columna contiene valores inexistentes o
ausentes. Opcionalmente, envía una notificación que se deben cancelar
las operaciones.(Heredado de DbDataReader).
|
|
|
Desplaza el lector de datos al resultado siguiente cuando se
leen los resultados de instrucciones SQL por lotes.(Invalida DbDataReader.NextResult()).
|
|
|
Una versión asincrónica de NextResult, que hace
avanzar el lector hasta el resultado siguiente cuando se leen los resultados
de un lote de instrucciones.
|
|
|
Esta es la versión asincrónica de NextResult. Los
proveedores deberían reemplazar con una implementación
apropiada. El cancellationToken opcionalmente puede omitirse.
La implementación predeterminada invoca sincrónico NextResult método
y devuelve una tarea finalizada, bloquear el subproceso que realiza la
llamada. La implementación predeterminada devuelve una tarea cancelada
si pasa un ya cancelados cancellationToken. Las excepciones producidas por NextResult se
comunicarán a través de la propiedad de excepción de la tarea devuelta.
Otros métodos y propiedades del objeto DbDataReader no deben
invocarse mientras no se ha completado la tarea devuelta.(Heredado
de DbDataReader).
|
|
|
||
|
Una versión asincrónica de Read, que hace
avanzar el lector hasta el siguiente registro de un conjunto de
resultados. Este método invoca ReadAsync con
CancellationToken.None.(Heredado de DbDataReader).
|
|
|
Esta es la versión asincrónica de Read. Los
proveedores deberían reemplazar con una implementación
apropiada. Opcionalmente, se puede omitir el cancellationToken.
La implementación predeterminada invoca sincrónico Read método
y devuelve una tarea finalizada, bloquear el subproceso que realiza la
llamada. La implementación predeterminada devuelve una tarea cancelada
si pasa un cancellationToken ya cancelado. Las excepciones producidas
por lectura se comunicará a través de la propiedad de excepción de la tarea
devuelta.
No se invocan otros métodos y propiedades de la DbDataReader del objeto hasta que se complete la tarea devuelta.(Heredado
de DbDataReader).
|
|
|
Implementaciones
de interfaz explícitas
Nombre
|
Descripción
|
|
|
Métodos de
extensión
Nombre
|
Descripción
|
|
|
||
|
||
|
||
|
·
Comentarios
Para crear un OleDbDataReader, se debe llamar a la ExecuteReader el método
de la OleDbCommand objeto,
en lugar de utilizar directamente un constructor.
Antes de cerrar la OleDbConnection, cierre
primero la OleDbDataReader objeto. También debe cerrar la OleDbDataReader objeto si
planea resuse un OleDbCommand objeto.
Por ejemplo, no se puede recuperar parámetros de salida hasta después de llamar
a Close.
Los cambios realizados en un conjunto por otro proceso o
subproceso mientras se leen los datos de resultados pueden ser visibles para el
usuario de la OleDbDataReader. Sin embargo, el comportamiento exacto depende de la
sincronización.
IsClosed y RecordsAffected son las
únicas propiedades que se pueden llamar después de la OleDbDataReader está
cerrado. Aunque elRecordsAffected puede
tener acceso a propiedad mientras el OleDbDataReader existe, llame siempre a Close antes de
devolver el valor deRecordsAffected para
garantizar el valor devuelto es preciso.
·
Ejemplos
En el ejemplo siguiente se crea un OleDbConnection, un OleDbCommand, y un OleDbDataReader. En el ejemplo se lee los datos,
escribirlos en la consola. Por último, el ejemplo cierra la OleDbDataReader y, a continuación, el OleDbConnection.
VB
Public Sub ReadData(ByVal connectionString As String, _
ByVal queryString As String)
Using connection As New OleDbConnection(connectionString)
Dim command As New OleDbCommand(queryString, connection)
connection.Open()
Dim reader As OleDbDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine(reader(0).ToString())
End While
reader.Close()
End Using
End Sub
1.5.
OleDbParameter
·
Sintaxis
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable, IDbDataParameter, IDataParameter
·
Constructores
Nombre
|
Descripción
|
|
|
Inicializa una nueva instancia de la clase OleDbParameter.
|
|
|
Inicializa una nueva instancia de la OleDbParameter clase
que utiliza el nombre del parámetro y el valor del nuevo OleDbParameter.
|
|
|
Inicializa una nueva instancia de la OleDbParameter clase
que usa el tipo de datos y el nombre de parámetro.
|
|
|
Inicializa una nueva instancia de la OleDbParameter clase
que utiliza el nombre de parámetro, el tipo de datos y la longitud.
|
|
|
Inicializa una nueva instancia de la OleDbParameter clase
que utiliza el nombre de parámetro, tipo de datos, longitud, nombre de
columna de origen, dirección del parámetro, la precisión numérica y otras
propiedades.
|
|
|
Inicializa una nueva instancia de la OleDbParameter clase
que utiliza el nombre de parámetro, tipo de datos, longitud, nombre de
columna de origen, dirección del parámetro, la precisión numérica y otras
propiedades.
|
|
|
Inicializa una nueva instancia de la OleDbParameter clase
que utiliza el nombre de parámetro, el tipo de datos, la longitud y el nombre
de columna de origen.
|
·
Propiedades
Nombre
|
Descripción
|
|
|
||
|
Obtiene o establece un valor que indica si el parámetro es
sólo de entrada, sólo de salida, bidireccional o un parámetro de valor
devuelto del procedimiento almacenado.(Invalida DbParameter.Direction).
|
|
|
Obtiene o establece un valor que indica si el parámetro acepta
valores null.(Invalida DbParameter.IsNullable).
|
|
|
||
|
||
|
||
|
||
|
Obtiene o establece el tamaño máximo, en bytes, de los datos
de la columna.(Invalida DbParameter.Size).
|
|
|
Obtiene o establece el nombre de la columna de origen asignada
a la DataSet y
utilizada para cargar o devolver el Value.(Invalida DbParameter.SourceColumn).
|
|
|
Establece u obtiene un valor que indica si la columna de
origen acepta valores null. Esto permite a DbCommandBuilder generar
correctamente instrucciones Update para las columnas que aceptan valores
NULL.(Invalida DbParameter.SourceColumnNullMapping).
|
|
|
Obtiene o establece la DataRowVersion a
utilizar al cargar Value.(Invalida DbParameter.SourceVersion).
|
|
|
·
Métodos
Nombre
|
Descripción
|
|
|
Crea un objeto que contiene toda la información relevante
necesaria para generar a un proxy que se utiliza para comunicarse con un
objeto remoto.(Heredado de MarshalByRefObject).
|
|
|
||
|
||
|
Recupera el objeto de servicio de duración actual que controla
la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).
|
|
|
||
|
Obtiene un objeto de servicio de duración para controlar la
directiva de duración de esta instancia.(Heredado de MarshalByRefObject).
|
|
|
||
|
Restablece el tipo asociado a este OleDbParameter.
|
|
|
·
Implementaciones de interfaz
explícitas
Nombre
|
Descripción
|
|
|
||
|
||
|
·
Comentarios
El proveedor de datos OLE DB Framework
utiliza parámetros de posición que se marcan con un signo de interrogación (?)
en lugar de parámetros con nombre.
Al consultar una base de datos de Oracle
mediante el proveedor Microsoft OLE DB para Oracle (MSDAORA) y el proveedor de
datos OLE DB Framework, utilizando el LIKE cláusula
para consultar valores en campos de longitud fija puede no devolver
coincidencias todas las esperadas.El motivo es que cuando Oracle compara los
valores para los campos de longitud fija en un LIKE cláusula,
coincide con toda la longitud de la cadena, incluyendo los espacios finales de
relleno. Por ejemplo, si una tabla en una base de datos de Oracle contiene
un campo denominado "Field1" que se define como char(3),
y escriba el valor "a" en una fila de la tabla, el siguiente código
no devuelve la fila.
VB
Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?"
Dim command As OleDbCommand = New OleDbCommand(queryString, connection)
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"
Dim reader As OleDbDataReader = command.ExecuteReader()
Esto es porque Oracle almacena el valor de columna
como "a" (relleno "a", con espacios finales hasta la
longitud de campo fijo de 3), que Oracle no se trata como una coincidencia para
el valor del parámetro de "a" en el caso de un LIKE comparación
de campos de longitud fija.
Para resolver este problema, anexe un
carácter comodín de porcentaje ("%") al valor del parámetro ("a%"), o utilizar una SQL = comparación
en su lugar.
·
Ejemplos
En el ejemplo siguiente se crea varias
instancias de OleDbParameter a través de la OleDbParameterCollection colección dentro de laOleDbDataAdapter. Estos parámetros se utilizan para
seleccionar datos del origen de datos y colocarlos en el DataSet. En este ejemplo se supone que un DataSet y un OleDbDataAdapter ya creados utilizando el esquema
apropiado, comandos y conexión.
VB
Public Function GetDataSetFromAdapter( _
ByVal dataSet As DataSet, ByVal connectionString As String, _
ByVal queryString As String) As DataSet
Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OleDbType.Integer).Value = 239
' Open the connection and fill the DataSet.
Try
connection.Open()
adapter.Fill(dataSet)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
Return dataSet
End Function
1.6.OleDbTransaction
·
Sintaxis
'Declaración
Public NotInheritable Class OleDbTransaction _
Inherits DbTransaction
El tipo OleDbTransaction expone los siguientes miembros.
·
Propiedades
Nombre
|
Descripción
|
Obtiene el objeto OleDbConnection asociado a la transacción, o referencia null (Nothing en
Visual Basic) si
la transacción ya no es válida.
|
|
·
Métodos
Nombre
|
Descripción
|
Inicia una transacción de base de
datos anidada.
|
|
Inicia una transacción de base de
datos anidada y especifica el nivel de aislamiento que se va a usar para la
nueva transacción.
|
|
Crea un objeto que contiene toda la
información relevante necesaria para generar un proxy utilizado para
comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
|
|
Libera los recursos no
administrados que utiliza DbTransaction y libera
los recursos administrados de forma opcional. (Se hereda de DbTransaction).
|
|
Permite que un objeto intente
liberar recursos y realizar otras operaciones de limpieza antes de ser
reclamado por la recolección de elementos no utilizados. (Se hereda
de Object).
|
|
Recupera el objeto de servicio de
duración actual que controla la directiva de duración de esta instancia.(Se
hereda de MarshalByRefObject).
|
|
Obtiene un objeto de servicio de
duración para controlar la directiva de duración de esta instancia. (Se
hereda de MarshalByRefObject).
|
|
·
Implementaciones explícitas de interfaces
Nombre
|
Descripción
|
IDbTransaction.Connection
|
Obtiene el objeto DbConnection asociado a la transacción, o
una referencia nula si la transacción ya no es válida. (Se hereda de DbTransaction).
|
·
Comentarios
La aplicación crea un objeto OleDbTransaction llamando
a BeginTransaction en el
objeto OleDbConnection. Todas las operaciones siguientes asociadas a la transacción (por
ejemplo, su confirmación o anulación) se realizan en el objeto OleDbTransaction.
2. Resumen
Clases de OleDB
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.
1. Clases de Ole DB
1. Clases de Ole DB
1.1. OleDb Connection
Representa una conexión única a un origen de
datos.
OleDbConnection(String) Inicializa una nueva
instancia de la clase OleDbConnection con la cadena de conexión especificada.
Ø Propiedades
Nombre Descripción
ConnectionString Obtiene o establece la
cadena que se utiliza para abrir una base de datos.(Reemplaza a DbConnection.ConnectionString).
ConnectionTimeout Obtiene el tiempo de espera
para intentar establecer una conexión antes de detenerse y generar un
error.(Reemplaza a DbConnection.ConnectionTimeout).
Container Obtiene IContainer que contiene
Component.(Heredado de Component.)
Database Obtiene el nombre de la base de
datos actual o de la que se va a utilizar una vez que se abre la
conexión.(Reemplaza a DbConnection.Database).
DataSource Obtiene el nombre de archivo o el
nombre de servidor del origen de datos.(Reemplaza aDbConnection.DataSource).
Provider Obtiene el nombre del proveedor OLE
DB especificado en la cláusula "Provider= " de la cadena de conexión.
ServerVersion Obtiene una cadena que contiene
la versión del servidor al que está conectado el cliente.(Reemplaza
aDbConnection.ServerVersion).
Site Obtiene o establece ISite de
Component.(Hereda do de Component.)
State Obtiene el estado actual de la conexión.(Reemplaza a DbConnection.State).
State Obtiene el estado actual de la conexión.(Reemplaza a DbConnection.State).
Ø Metodos
Nombre Descripción
BeginTransaction()
Inicia una transacción de base de datos con el valor actual de IsolationLevel
BeginTransaction(IsolationLevel) Inicia una
transacción de base de datos con el nivel de aislamiento especificado.
ChangeDatabase(String) Cambia la base de
datos actual de una conexión OleDbConnection abierta.(Re emplaza a
DbConnection.ChangeDatabase(Strin g)).
Close() Cierra la conexión al origen de
datos.(Reemplaza a DbConnection.Close())
CreateCommand() Crea y devuelve un objeto
OleDbCommand asociado a OleDbConnection.
CreateObjRef(Type) Crea un objeto que
contiene toda la información relevante necesaria para generar un proxy
utilizado para comunicarse con un objeto remoto.(Heredado
deMarshalByRefObject.)
Dispose() Libera todos los recursos utilizados por Component.(Heredado de Component.)
EnlistDistributedTransaction(ITransaction) Se da de alta en la transacción especificada como una transacción distribuida.
Dispose() Libera todos los recursos utilizados por Component.(Heredado de Component.)
EnlistDistributedTransaction(ITransaction) Se da de alta en la transacción especificada como una transacción distribuida.
EnlistTransaction(Transaction) Se da de alta
en la transacción especificada como una transacción distribuida.(Reemplaza a
DbConnection.EnlistTransaction(Trans action)).
Equals(Object) Determina si el objeto
especificado es igual al objeto actual.(Heredado de Object.)
GetHashCode() Sirve como una función hash para un tipo en particular. (Heredado de Object.)
GetHashCode() Sirve como una función hash para un tipo en particular. (Heredado de Object.)
GetLifetimeService() Recupera el objeto de
servicio de duración actual que controla la directiva de duración de esta
instancia.(Heredado de MarshalByRefObject.)
GetOleDbSchemaTable(Guid, Object()) Devuelve
información de esquema desde un origen de datos tal y como indica un GUID, y
después de aplicar las restricciones especificadas.
GetSchema() Devuelve información de esquema
para el origen de datos de OleDbConnection.(Reemplaza a
DbConnection.GetSchema()).
GetSchema(String) Devuelve información de
esquema para el origen de datos de OleDbConnectionutilizando la cadena
especificada para el nombre del esquema.(Reemplaza
aDbConnection.GetSchema(String)).
GetSchema(String, String()) Devuelve
información de esquema para el origen de datos de OleDbConnectionutilizando la
cadena especificada para el nombre de esquema y la matriz de cadena determinada
para los valores de restricción.(Reemplaza aDbConnection.GetSchema(String,
String ())).
GetType() Obtiene el Type de la instancia actual.
GetType() Obtiene el Type de la instancia actual.
3. Summary
OLE DB OleDB classes (sometimes
written as OLEDB or OLE-DB) is an acronym for Object Linking and Embedding, for
Databases ("Link and embedding for databases") and is a technology
developed by Microsoft used to have access to different sources of information,
or databases, in a uniform manner.
1. Ole DB classes
1.1. OleDb connection
represents a unique connection to a
data source.
OleDbConnection(String) Initializes a
new instance of the OleDbConnection class with the specified connection string.
Properties
Name Description
ConnectionString property gets or
sets the string that is used to open a database.(Replaces
DbConnection.ConnectionString property).
ConnectionTimeout gets the waiting
time to attempt to establish a connection before stopping and generate an
error.(Replaces DbConnection.ConnectionTimeout).
IContainer container gets that
contains Component.(inherited from Component.)
Database Gets the name of the current
database, or of which you are going to use it once the connection is
opened.(Replaces DbConnection object.Database).
DataSource property gets the file
name or the server name of the data source.(Replaces aDbConnection.DataSource).
Provider gets the name of the OLE DB
provider specified in clause "Provider= " of the connection string.
ServerVersion gets a string
containing the version of the server connected to the client.(Replaces
aDbConnection.ServerVersion).
Site Gets or sets ISite from Component.(inherited
from Component.)
State Gets the current connection
status.(Replaces DbConnection.State).
Methods
Name Description
BeginTransaction() Starts a database
transaction with the current value of
BeginTransaction
IsolationLevel(IsolationLevel Property) Starts a database transaction with the
isolation level specified.
ChangeDatabase(String) Changes the
current database of a OleDbConnection connection open.(Re challenged
DbConnection.STRIN CHANGEDATABASE(g)).
Close() closes the connection to the
data source.(Replaces DbConnection.Close())
CreateCommand method() creates and
returns an OleDbCommand object associated with an OleDbConnection.
CreateObjRef(Type) Creates an object
that contains all the relevant information required to generate a proxy used to
communicate with a remote object.(Inherited deMarshalByRefObject.)
Dispose() method releases all
resources used by the Component.(inherited from Component.)
(ITransaction
EnlistDistributedTransaction) is given in the transaction that is specified as
a distributed transaction.
EnlistTransaction(Transaction) is
enlisted in the specified transaction as a distributed transaction.(Replaces
DbConnection.EnlistTransaction(Trans action)).
Equals(Object) Determines whether the
specified object is equal to the current object.(inherited from Object.)
GetHashCode() serves as a hash
function for a particular type. (Inherited From Object.)
GetLifetimeService() retrieves the
current lifetime service that controls the lifetime policy for this
instance.(inherited from MarshalByRefObject.)
GetOleDbSchemaTable(Guid, Object())
Returns schema information from a data source as a GUID, and after applying the
restrictions.
GetSchema() Returns schema
information for the data source for an OleDbConnection.(Replaces DbConnection.GetSchema()).
The GetSchema method(String) returns
schema information for the data source in OleDbConnectionutilizando the string
specified for the name of the schema.(Replaces
aDbConnection.GetSchema(String)).
The GetSchema method(String,
String()) Returns schema information for the data source in
OleDbConnectionutilizando the string specified for the schema name and the
matrix of certain string for the constraint values.(Replaces
aDbConnection.GetSchema(String, String ())).
GetType() gets the type of the
current instance.
4. Conclusiones
v 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)
v Los proveedores OLE DB pueden ser creados para
tener acceso a almacenes de datos que van desde simples archivos de texto y hojas de cálculo, hasta bases de datos complejas como Oracle, Microsoft SQL Server o Sybase ASE.
5. Apreciación del equipo
v OLE
DB se ha diseñado como sustituto de alto nivel para ODBC para dar soporte a una
variedad más amplia de bases de datos no relacionales que no implementan SQL
necesariamente (por ejemplo, bases de datos de objeto y hojas de cálculo).
v El
estándar internacional para SQL define un lenguaje de alto nivel estándar para
acceder y manipular los datos que están almacenados en una base de datos
relacional.
v Como las diferentes fuentes de datos pueden
tener diferentes capacidades, es posible que los proveedores OLE DB no
implementen todas las interfaces posible para OLE DB.
6. Glosario de Términos
Objetos
de datos ActiveX
Interfaz
de acceso a datos que comunica con orígenes de datos conformes a OLE DB para
conectar con datos, recuperarlos, manipularlos y actualizarlos.
objetos
de datos ActiveX (multidimensional)
Conjunto de interfaces de acceso a datos
basadas en objetos, de alto nivel e independientes del lenguaje usado,
optimizadas para aplicaciones de datos multidimensionales.
host
de adaptador
Adaptador de clase abstracta raíz que
define el protocolo de enlace entre el adaptador y el servidor de StreamInsight
en el punto de interacción ENQUEUE. Proporciona todos los servicios de
adaptador necesarios, por ejemplo administración de memoria y control de
excepciones.
ADO
Interfaz de acceso a datos que comunica con
orígenes de datos conformes a OLE DB para conectar con datos, recuperarlos,
manipularlos y actualizarlos.
ADO
MD
Conjunto de interfaces de acceso a datos
basadas en objetos, de alto nivel e independientes del lenguaje usado,
optimizadas para aplicaciones de datos multidimensionales.
ADOMD.NET
Proveedor de datos administrados .NET que
proporciona acceso a orígenes de datos multidimensionales, como Microsoft SQL
Server Analysis Services.
función
de agregado
Función que realiza un cálculo sobre varios
valores y devuelve un valor único.
consulta
de agregado
Consulta (instrucción SQL) que resume
información de varias filas mediante la inclusión de una función de agregado
como Sum o Avg.
Alias
Etiqueta alternativa para algún objeto,
como un archivo o una recopilación de datos.
Agregación
Tabla o estructura que contiene datos
precalculados para un cubo de procesamiento analítico en línea (OLAP). Las
agregaciones admiten la realización rápida y eficaz de consultas de una base de
datos multidimensional.
No hay comentarios:
Publicar un comentario