Método Installer.OpenDatabase

El método OpenDatabase del objeto Installer abre una base de datos existente o crea una nueva, y devuelve un objeto Database. Genera un error si el objeto Database no se puede crear y abrir correctamente.

Sintaxis

Installer.OpenDatabase(
  name,
  openMode
)

Parámetros

name

Cadena necesaria que contiene el nombre de la ruta de acceso de la base de datos. Si se proporciona una cadena vacía, se crea una base de datos temporal que no se conserva.

openMode

Un parámetro de la siguiente lista o una cadena que contiene el nombre de la ruta de acceso del nuevo archivo de base de datos de salida en el que se va a escribir tras la confirmación.

Parámetro Significado
msiOpenDatabaseModeReadOnly
0
Abre una base de datos de solo lectura, sin cambios persistentes.
msiOpenDatabaseModeTransact
1
Abre una lectura y escritura de una base de datos en modo de transacción.
msiOpenDatabaseModeDirect
2
Abre lectura y escritura directas de una base de datos sin transacción.
msiOpenDatabaseModeCreate
3
Crea una base de datos, lectura y escritura en modo de transacción.
msiOpenDatabaseModeCreateDirect
4
Crea una base de datos, lectura y escritura en modo directo.
msiOpenDatabaseModeListScript
5
Abre una base de datos para ver los archivos de script anunciados, como los archivos generados por el método CreateAdvertiseScript.
msiOpenDatabaseModePatchFile
32
Agrega esta marca para indicar un archivo de revisión.

 

Valor devuelto

Objeto Database que representa la base de datos existente o nueva del instalador que se abrió.

Observaciones

Cuando se abre una base de datos como salida de otra, su flujo de información de resumen es realmente un reflejo de solo lectura de la base de datos original y, por tanto, no se puede cambiar. Además, no se conserva con la base de datos. Para crear o modificar la información de resumen de la base de datos de salida, esta debe cerrarse y volver a abrirse.

Para realizar y guardar los cambios en una base de datos, primero abra la base de datos en modo de transacción (msiOpenDatabaseModeTransact), creación (msiOpenDatabaseModeCreate o msiOpenDatabaseModeCreateDirect) o directo (msiOpenDatabaseModeDirect). Después de realizar los cambios, llame siempre al método Commit antes de cerrar el identificador de la base de datos. El método Commit vacía todos los búferes.

Si una base de datos se ha abierto en modo directo, llame siempre al método Commit (msiOpenDatabaseModeDirect o msiOpenDatabaseModeCreateDirect) antes de cerrar la base de datos. Si no lo hace, la base de datos puede resultar dañada.

Dado que el método OpenDatabase inicia el acceso a la base de datos, no se puede usar con una instalación en ejecución.

Si el método no funciona, puede obtener la información de error extendida mediante el método LastErrorRecord.

Requisitos

Requisito Value
Versión
Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer en Windows Server 2003 o Windows XP
Archivo DLL
Msi.dll
IID
IID_IInstaller se define como 000C1090-0000-0000-C000-000000000046