CDataSource::Open
Abra una conexión a un origen de datos mediante CLSID, Id. de programa, o el moniker de CEnumerator o pide al usuario un cuadro de diálogo locator.
HRESULT Open(
const CLSID& clsid,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
const CLSID& clsid,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
HRESULT Open(
LPCTSTR szProgID,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
LPCTSTR szProgID,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
HRESULT Open(
const CEnumerator& enumerator,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
const CEnumerator& enumerator,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
HRESULT Open(
HWND hWnd = GetActiveWindow( ),
DBPROMPTOPTIONS dwPromptOptions = DBPROMPTOPTIONS_WIZARDSHEET
) throw( );
HRESULT Open(
LPCWSTR szProgID,
DBPROPSET* pPropSet = NULL,
ULONG nPropertySets = 1
) throw( );
HRESULT Open(
LPCSTR szProgID,
LPCTSTR pName,
LPCTSTR pUserName = NULL,
LPCTSTR pPassword = NULL,
long nInitMode = 0
) throw( );
Parámetros
clsid
[in] CLSID Del proveedor de datos.pPropSet
[in] Un puntero a una matriz de estructuras de DBPROPSET que contienen las propiedades y los valores que se establecerán. Vea Conjuntos de propiedades y grupos de propiedades en la referencia del programador de OLE Windows SDK.nPropertySets
[in] El número de estructuras de DBPROPSET pasadas en el argumento de pPropSet .pName
[in] El nombre de la base de datos a la que se va a conectar.pUserName
[in] El nombre del usuario.pPassword
[in] La contraseña del usuario.nInitMode
[in] Modo de inicialización de la base de datos. Vea Propiedades de inicializaciónen la referencia del programador de OLE Windows SDK para una lista de modos de inicialización válidos. Si nInitMode es cero, no se incluye ningún modo de inicialización en el conjunto de propiedades utilizado para abrir la conexión.szProgID
[in] Un identificador de programa.enumerator
[in] Un objeto de CEnumerator utilizado para obtener un moniker para abrir la conexión cuando el llamador no especifica CLSID.hWnd
[in] Identificador de la ventana que se ser el elemento primario del cuadro de diálogo. Mediante la sobrecarga de funciones que utiliza el parámetro de hWnd llamará automáticamente a los componentes de Servicio; vea las notas de detalles.dwPromptOptions
[in] Determina el estilo del cuadro de diálogo locator para mostrar. Vea Msdasc.h por valores posibles.
Valor devuelto
HRESULTestándar.
Comentarios
La sobrecarga del método que utiliza el parámetro de hWnd abre un objeto de origen de datos con los componentes de servicio en oledb32.dll; esta DLL contiene la implementación de las características de los componentes de Servicio como agrupación de recursos, alistamiento automático de transacciones, etc. Para obtener más información, vea “OLE DB Services” en la referencia del programador en https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=true.
Las sobrecargas de método que no utilizan el parámetro de hWnd abra un objeto de origen de datos sin utilizar los componentes de servicio en oledb32.dll. Un objeto de CDataSource abrió con estas sobrecargas de función no podrá utilizar la funcionalidad cualquiera de los componentes de Servicio.
Ejemplo
El código siguiente muestra cómo abrir un origen de datos de Jet 4,0 con las plantillas OLE DB. Se trata el origen de datos de Jet como origen de datos OLE DB. Sin embargo, la llamada a Abierta necesita dos conjuntos de propiedades: uno para DBPROPSET_DBINIT y otro para DBPROPSET_JETOLEDB_DBINIT, de modo que pueda establecer DBPROP_JETOLEDB_DATABASEPASSWORD.
CDBPropSet rgDBPropSet[2]; // Declare two property sets;
// set properties elsewhere as appropriate.
hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);
Requisitos
Encabezado: atldbcli.h