Compartilhar via


CDaoDatabase::Open

Você deve chamar essa função de membro para inicializar um objeto recentemente construído de CDaoDatabase que representa um banco de dados existente.

virtual void Open( 
   LPCTSTR lpszName, 
   BOOL bExclusive = FALSE, 
   BOOL bReadOnly = FALSE, 
   LPCTSTR lpszConnect = _T( 
   "" ) 
);

Parâmetros

  • lpszName
    Uma expressão de cadeia de caracteres que é o nome de um arquivo de banco de dados existente do Microsoft Jet (.MDB).Se o nome do arquivo possui uma extensão, exige-se.Se sua rede oferece suporte a convenção de nomenclatura uniforme (UNC), você também pode especificar um caminho de rede, como “\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB”.(As barras invertidas duplas são necessárias em literais de cadeia de caracteres como “\” é um caractere de escape C++.)

    Algumas considerações se aplicam ao usar lpszName.Se ele:

    • Se refere a um banco de dados que já está aberto para acesso exclusivo por outro usuário MFC, gera uma exceção de tipo CDaoException.Interceptar que exceção para permitir que o usuário saiba que o banco de dados não está disponível.

    • É uma cadeia de caracteres vazia ("") e o lpszConnect é “; ODBC”, uma caixa de diálogo que lista todos os nomes registrados da fonte de dados ODBC é exibida para que o usuário pode selecionar um banco de dados.Você deve evitar referências diretas a fontes de dados ODBC; use uma tabela anexado em vez de isso.

    • Se não se refere a um banco de dados existente ou o nome válido da fonte de dados ODBC, MFC gera uma exceção do tipo CDaoException.

    ObservaçãoObservação

    Para obter detalhes sobre códigos de erro de DAO, consulte o arquivo de DAOERR.H.Para informações relacionadas, consulte o tópico “erros Interceptáveis de acesso a dados” na ajuda de DAO.

  • bExclusive
    Um valor Booleano que é Verdadeiro se o banco de dados deve ser aberto para acesso exclusivo (não compartilhados) e o Falso se o banco de dados deve ser aberto para acesso compartilhado.Se você omitir o argumento, o banco de dados está aberto para acesso compartilhado.

  • bReadOnly
    Um valor Booleano que é Verdadeiro se o banco de dados deve ser aberto para acesso somente leitura e o Falso se o banco de dados deve ser aberto para acesso de leitura/gravação.Se você omitir o argumento, o banco de dados está aberto para acesso de leitura/gravação.Todos os conjuntos de registros dependentes herdam este atributo.

  • lpszConnect
    Uma expressão de cadeia de caracteres usados abrindo o banco de dados.Essa cadeia de caracteres constitui ODBC conecta argumentos.Você deve fornecer os argumentos e exclusivas somente leitura para fornecer uma cadeia de caracteres de origem.Se o banco de dados é um banco de dados Microsoft Jet (.MDB), essa cadeia de caracteres está vazia ("").A sintaxe para o valor padrão — _T("") — fornece a portabilidade para Unicode bem como compilações ANSI do seu aplicativo.

Comentários

Abrir associa o banco de dados com o objeto subjacente de DAO.Você não pode usar o objeto de banco de dados ao conjunto de registros de compilação, ao tabledef, ou objetos de querydef até que seja inicializado.Abrir anexa o objeto de banco de dados associado à coleção de bancos de dados do espaço de trabalho.

Use os parâmetros da seguinte maneira:

  • Se você está abrindo um banco de dados Microsoft Jet (.MDB), use o parâmetro de lpszName e passar uma cadeia de caracteres vazia para o parâmetro de lpszConnect ou passar uma cadeia de caracteres de senha do formulário “; PWD=password” se o banco de dados senha- é protegido (bancos de dados de somente .MDB).

  • Se você está abrindo uma fonte de dados ODBC, passe uma cadeia de conexão ODBC válida em lpszConnect e uma cadeia de caracteres vazia em lpszName.

Para informações relacionadas, consulte o tópico “método OpenDatabase” na ajuda de DAO.

ObservaçãoObservação

Para melhor desempenho ao acessar bancos de dados externos, incluindo bancos de dados de ISAM e fontes de dados ODBC, é recomendável que você anexe tabelas de banco de dados externos a um banco de dados do mecanismo da Microsoft Jet (.MDB) em vez de se conectar diretamente para a fonte de dados.

É possível para uma tentativa de conexão para o tempo limite se, por exemplo, o host de DBMS não está disponível.Se a tentativa de conexão falhar, Abrir gera uma exceção do tipo CDaoException.

Os comentários restantes se aplicam somente a bancos de dados ODBC:

Se o banco de dados é um banco de dados ODBC e os parâmetros na chamada de Abrir não contêm informações suficientes para fazer a conexão, o driver ODBC abrir uma caixa de diálogo para obter as informações necessárias do usuário.Quando você chama Abrir, a cadeia de conexão, lpszConnect, é armazenada particulares e está disponível chamar a função de membro de GetConnect .

Se você desejar, você pode abrir a própria caixa de diálogo antes de chamar Abrir para obter informações do usuário, como uma senha, o que adicionar informações à cadeia de conexão que você passa a Abrir.Ou você talvez queira salvar a cadeia de conexão que você passar (talvez no Registro do Windows) para que você pode reutilizá-lo a próxima vez que seus chamadas Abrir do aplicativo em um objeto de CDaoDatabase .

Você também pode usar a cadeia de conexão para vários níveis de autorização de login (cada um para um objeto diferente de CDaoDatabase ) ou transmitir informações banco de dados específica.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

Classe de CDaoDatabase

Gráfico de hierarquia

CDatabase::CDatabase

CDatabase::Close