Partilhar via


CDataSource::Open

Abre uma conexão a uma fonte de dados usando CLSID, ProgID, ou o moniker de CEnumerator ou solicita ao usuário com uma caixa de diálogo do localizador.

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 do provedor de dados.

  • pPropSet
    [in] o ponteiro da uma matriz de DBPROPSET a estrutura que contém as propriedades e dos valores a serem definidos. Consulte Conjuntos de propriedades e grupos de propriedadena referência do programador do OLE DB em Windows SDK.

  • nPropertySets
    [in] o número de estruturas de DBPROPSET transmitido no argumento de pPropSet .

  • pName
    [in] o nome da base de dados do ao qual se conectar.

  • pUserName
    [in] o nome do usuário.

  • pPassword
    [in] a senha do usuário.

  • nInitMode
    [in] modo de inicialização do base de dados. Consulte Propriedades de inicializaçãona referência do programador do OLE DB em Windows SDK para obter uma lista dos modos de inicialização válidos. Se nInitMode for zero, nenhum modo de inicialização está incluído no conjunto de propriedades usado para abrir a conexão.

  • szProgID
    [in] identificador de programa do.

  • enumerator
    [in] objeto de CEnumerator usado para obter um moniker para abrir a conexão quando o chamador não especificar CLSID.

  • hWnd
    [in] identificador para a janela ser que é o pai da caixa de diálogo. Usando a sobrecarga da função usando o parâmetro de hWnd invocará automaticamente componentes de serviço; consulte comentários para obter detalhes.

  • dwPromptOptions
    [in] determina o estilo da caixa de diálogo do localizador exibir. Consulte Msdasc.h para valores possíveis.

Valor de retorno

HRESULTpadrão.

Comentários

A sobrecarga do método que usa o parâmetro de hWnd abre um objeto de fonte de dados com os componentes de serviço em oledb32.dll; este DLL contém a implementação de recursos dos componentes de serviço como um recurso de cluster, inscrição automática da transação, e assim por diante. Serviços de Para obter mais informações, consulte “OLE DB” na referência do programador do OLE DB em https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=true.

As sobrecargas do método que não usam o parâmetro de hWnd abre um objeto de fonte de dados sem usar os componentes de serviço em oledb32.dll. Um objeto de CDataSource aberto com as sobrecargas da função será possível utilizar de algumas funcionalidades de componentes de serviço.

Exemplo

O código a seguir mostra como abrir uma fonte de dados Jet 4,0 com modelos OLE DB. Você controla a fonte de dados Jet como uma fonte de dados OLE DB. No entanto, a sua chamada a Abrir precisa dois conjuntos de propriedades: um para DBPROPSET_DBINIT e o outro para DBPROPSET_JETOLEDB_DBINIT, de forma que você possa definir DBPROP_JETOLEDB_DATABASEPASSWORD.

CDBPropSet rgDBPropSet[2];  // Declare two property sets; 
                            // set properties elsewhere as appropriate.

hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);

Requisitos

Header: atldbcli.h

Consulte também

Referência

Classe CDataSource