CDatabase:: Open

virtual BOOL Aberto ( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = falso, LPCTSTR lpszConnect = "ODBC;", BOOL bUseCursorLib = TRUE );
lançar ( CDBException, CMemoryException );

Valor de retorno

Diferente de zero se a conexão é estabelecida com êxito; caso contrário 0 se o usuário optar por cancelar quando apresentada uma caixa de diálogo solicitando mais informações sobre a conexão. Em todos os outros casos, o framework lança uma exceção.

Parâmetros

lpszDSN

Especifica um nome de fonte de dados — um nome registado com ODBC através do programa Administrador ODBC. Se um valor DSN é especificado em lpszConnect (na forma "DSN = lt; origem de dados >"), ele não deve ser especificado novamente no lpszDSN. Neste caso, lpszDSN deve ser Nulo. Caso contrário, você pode passar NULL se você desejar apresentar ao usuário uma caixa de diálogo fonte de dados no qual o usuário pode selecionar uma fonte de dados. Para obter mais informações, consulte "Comentários".

bExclusive

Não suporte nesta versão da biblioteca de classes. Atualmente, uma declaração falha se este parâmetro é TRUE. A fonte de dados sempre for aberta como compartilhado (não exclusivo).

bReadOnly

TRUE se pretender que a ligação para ser somente leitura e proibir atualizações para o Origem de dados. Todos os conjuntos de registros dependentes herdarão esse atributo. O valor padrão é FALSE.

lpszConnect

Especifica uma Cadeia de conexão. A Cadeia de ligação concatena informações, incluindo, eventualmente, um nome de fonte de dados, um ID de usuário válida no origem de dados, uma Cadeia de caracteres de autenticação de usuário (senha, se a fonte de dados requer um) e outras informações. A toda cadeia de conexão deve ser prefixada pela Cadeia de caracteres "ODBC;" (maiúsculas ou minúsculas). O "ODBC;" Cadeia de caracteres é usada para indicar que a conexão for para uma fonte de dados ODBC; Isto é para compatibilidade ascendente quando versões futuras da biblioteca de classes podem oferecer suporte a fontes de dados não-ODBC.

bUseCursorLib

TRUE se desejar que a DLL de biblioteca de Cursor ODBC a ser carregado. A biblioteca de cursores máscaras alguma funcionalidade do driver ODBC subjacente, efetivamente evitar o uso de dynasets (se o driver oferece suporte a eles). Os cursores somente suportados se a biblioteca de cursor é carregada são instantâneos estáticos e cursores de somente avanço. O valor padrão é TRUE. Se você planeja criar um objeto recordset diretamente de CRecordset sem derivando de-lo, você não deve carregar a biblioteca de cursor.

Observações

Chame essa função de membro para inicializar um objeto de CDatabase recém-construído. Seu objeto de banco de dados deve ser inicializado antes de você pode usá-lo para construir um objeto recordset.

&Notanbsp;  Chamar a função de membro OpenEx é a melhor maneira de se conectar a uma fonte de dados e inicializar o objeto de banco de dados.

Se os parâmetros na sua chamada Open não contêm informações suficientes para fazer a conexão, o driver ODBC abre uma caixa de diálogo para obter as informações necessárias do usuário. Quando você chama Abrir, sua seqüência de conexão, lpszConnect, é armazenada de maneira segura no objeto CDatabase e está disponível por chamado a função de membro GetConnect.

Se desejar, você pode abrir sua própria caixa de diálogo antes de chamar Abrir para obter informações do usuário, such as uma senha, em seguida, adicionar essa informação à cadeia de conexão que você passar para Abrir. Ou você talvez queira salvar a seqüência de conexão que você passar assim que você pode reutilizá-la na próxima vez que o aplicativo chama aberta em um objeto de CDatabase.

Você também pode usar a seqüência de conexão para vários níveis de autorização de início de sessão (cada um para um objeto de CDatabase diferente) ou transmitir outras informações específicas da origem de dados. Para obter mais informações sobre como conectar-se seqüências de caracteres, consulte o capítulo 5 na Referência do programador ODBC SDK.

É possível para uma tentativa de conexão para o tempo limite se, por exemplo, o host do DBMS não estiver disponível. Se a tentativa de conexão falhar, Open lança um CDBException.

Exemplo

/ / Incorporar um objeto de CDatabase
/ / em sua classe de documento
CDatabase m_dbCust;

/ / Conectar o objeto de uma
/ / dados de origem (sem senha)
/ / caixa de diálogo de conexão ODBC
/ / sempre permanecerão ocultas
m_dbCust.Open ( t ("MI&NHAFONTEDEDADOS"), FALSE,
 nbsp;             FALSO,  T ("ODBC;UID = JOES "),

// ...Ou, consulta o usuário para todos os
/ / informações de conexão
m_dbCust.Open (NULL)

Visão geral de CDatabaseMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CDatabase:: OpenEx, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset:: Open

Index