Objetos de origen de datos OLE DB (SQL Server Compact)]
En la programación OLE DB, el objeto de origen de datos representa el almacén de datos subyacente de un proveedor. Para conectarse a un proveedor OLE DB, en primer lugar los consumidores deben crear e inicializar una instancia del objeto de origen de datos.
Objeto de origen de datos de SQL Server Compact
En Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5), el objeto de origen de datos se crea llamando a la función OLE CoCreateInstance y pasando después el CLSID (identificador de clase) para el Proveedor OLE DB para SQL Server Compact 3.5, que es CLSID_SQLSERVERCE. Dado que SQL Server Compact 3.5 es un servidor en proceso, las instancias de los objetos OLE DB de SQL Server Compact 3.5 se crean con la macro CLSCTX_INPROC_SERVER para indicar el contexto ejecutable.
SQL Server Compact 3.5 sólo utiliza la propiedad DBPROP_INIT_DATASOURCE para especificar el origen de datos deseado. Esta propiedad recibe la ruta completa del archivo de base de datos que se debe abrir. Una vez establecida esta propiedad, el consumidor inicializa el objeto de origen de datos. De este modo, se establece el entorno necesario para el intercambio de datos entre el consumidor y SQL Server Compact 3.5. Una vez inicializado el objeto de origen de datos, el consumidor puede obtener información autodescriptiva sobre el almacén de datos, pero aún no puede tener acceso a los datos. Este objeto de origen de datos se podrá utilizar a continuación para crear uno o varios objetos de sesión. Estos se utilizan a su vez para crear las transacciones, los comandos y los conjuntos de filas necesarios.
El proveedor OLE DB para SQL Server Compact 3.5 también permite crear una nueva base de datos. Para obtener más información, vea Crear bases de datos con OLE DB.
También se admiten las bases de datos protegidas mediante contraseña. Esta característica de seguridad requiere que se especifique una contraseña cuando se inicializa el objeto de origen de datos. Para obtener más información, vea Acceso a bases de datos protegidas mediante contraseña con OLE DB.
Limitaciones del objeto de origen de datos
A continuación, se indican algunas de las limitaciones del objeto de origen de datos en el proveedor OLE DB para SQL Server Compact 3.5:
- El concepto de catálogo tal y como se define en OLE DB no se usa en SQL Server Compact 3.5. La propiedad DBPROP_INIT_DATASOURCE define la base de datos que debe utilizarse y el proveedor OLE DB para SQL Server Compact 3.5 considera esta base de datos como el catálogo actual.
- No se admite la capacidad de modificar el almacén de datos actual. Los clientes que deseen modificar el almacén de datos deberán deshacer la inicialización del objeto de origen de datos, especificar el nombre del nuevo almacén de datos y después reinicializar el objeto de origen de datos.
Propiedades del origen de datos específicas del proveedor
SQL Server Compact 3.5 admite las siguientes propiedades específicas del proveedor en el conjunto de propiedades específicas del proveedor DBPROPSET_SSCE_DBINIT:
Propiedad | Definición |
---|---|
DBPROP_SSCE_AUTO_SHRINK_THRESHOLD |
Porcentaje de espacio disponible en el archivo de base de datos permitido antes del inicio de la reducción automática. Un valor de 100 deshabilita la reducción automática. Si no se especifica ningún valor, se utiliza el valor predeterminado 60. |
DBPROP_SSCE_DBCASESENSITIVE |
Valor booleano que determina si la intercalación de base de datos distingue mayúsculas de minúsculas o no. Se debe establecer en true para habilitar que la intercalación distinga mayúsculas de minúsculas o en false para que la intercalación no distinga mayúsculas de minúsculas. Si no se especifica, el valor predeterminado es false. ![]()
Esta propiedad se incluye a partir de la versión SQL Server Compact 3.5 Service Pack 1. Para obtener más información, vea Trabajar con intercalaciones (SQL Server Compact).
|
DBPROP_SSCE_DBPASSWORD |
Contraseña de la base de datos, cuya longitud máxima es de 40 caracteres. Si no se especifica ningún valor, de forma predeterminada no se utiliza ninguna contraseña. Esta propiedad debe especificarse si se habilita el cifrado en la base de datos. Si se especifica una contraseña, se habilita el cifrado en la base de datos. Para obtener más información, vea Acceso a bases de datos protegidas mediante contraseña con OLE DB. |
DBPROP_SSCE_DEFAULT_LOCK_ESCALATION |
Número de bloqueos que adquirirá una transacción antes de que se intente efectuar una extensión de fila a tabla o de página a tabla. Si no se especifica ningún valor, se utiliza el valor predeterminado 100. |
DBPROP_SSCE_DEFAULT_LOCK_TIMEOUT |
Número predeterminado de milisegundos que una transacción esperará un bloqueo. Si no se especifica, el valor predeterminado es 5000 milisegundos para los equipos de escritorio y 2000 milisegundos para los dispositivos. |
DBPROP_SSCE_ENCRYPTDATABASE |
Valor booleano que determina si la base de datos está cifrada. Debe establecerse en true para habilitar el cifrado o en false para deshabilitarlo. Si no se especifica ningún valor, de forma predeterminada el valor es false. Si se habilita el cifrado, se debe especificar también una contraseña mediante la propiedad correspondiente. Si se especifica una contraseña, el cifrado se habilita independientemente del valor establecido para esta propiedad. |
DBPROP_SSCE_ENCRYPTIONMODE |
Tipo de cifrado utilizado para proteger el archivo de base de datos. Para obtener más información del modo de cifrado, vea la descripción en Propiedades específicas del proveedor (OLE DB). |
DBPROP_SSCE_FLUSH_INTERVAL |
Especifica el intervalo, en segundos, antes de que se vacíen al disco todas las transacciones confirmadas. Si no se especifica ningún valor, se utiliza el valor predeterminado 10. |
DBPROP_SSCE_MAXBUFFERSIZE |
Tamaño máximo de la base de datos, en MB. Si no se especifica ningún valor, se utiliza el valor predeterminado 640. |
DBPROP_SSCE_MAX_DATABASE_SIZE |
Tamaño máximo de la base de datos, en MB. Si no se especifica ningún valor, se utiliza el valor predeterminado 128. |
DBPROP_SSCE_TEMPFILE_DIRECTORY |
Ubicación de la base de datos temporal. Si no se especifica, el valor predeterminado es utilizar como almacenamiento temporal la base de datos especificada en la propiedad de origen de datos. Para obtener más información, vea Especificar la ubicación de la base de datos temporal mediante OLE DB y Bases de datos temporales. |
DBPROP_SSCE_TEMPFILE_MAX_SIZE |
Tamaño máximo de la base de datos temporal en MB. |