Fonte de dados: gerenciando conexões (ODBC)
Este tópico se aplica às classes ODBC do MFC.
Este tópico explica:
Como configurar uma fonte de dados.
Como um ambiente multiusuários afeta uma fonte de dados e seus conjuntos de registros.
Porque você generaliza uma cadeia de conexão para uma fonte de dados.
Como conectar-se a uma fonte de dados.
Como desconectar-se de uma fonte de dados.
Como reutilizar um objeto CDatabase.
Conectar a uma fonte de dados significa estabelecer comunicação com um DBMS para acessar os dados. Quando você se conecta a uma fonte de dados de um aplicativo através de um driver ODBC, o driver fazer a conexão para você, localmente ou através de uma rede.
É possível se conectar a qualquer fonte de dados para a qual você tem um driver ODBC. Os usuários do seu aplicativo também devem ter o mesmo driver ODBC para sua fonte de dados. Para obter mais informações sobre a redistribuição de drivers ODBC, consulte Redistribuir componentes ODBC para seus clientes.
Configurando uma fonte de dados
O Administrador de ODBC é usado para configurar suas fontes de dados. Você também pode usar o administrador de ODBC após a instalação para adicionar ou remover fontes de dados. Ao criar aplicativos, você pode direcionar os usuários para o administrador de ODBC para deixá-los adicionar fontes de dados ou pode criar essa funcionalidade em seu aplicativo fazendo chamadas diretas de instalação de ODBC. Para obter mais informações, consulte Administrador de ODBC.
É possível usar um arquivo do Excel como uma fonte de dados, e é necessário configurar o arquivo para que seja registrado e apareça na caixa de diálogo Selecionar Fonte de Dados.
Para usar um arquivo do Excel como uma fonte de dados
Configure o arquivo com o Administrador de Fonte de Dados ODBC.
Na guia DSN de Arquivo, clique em Adicionar.
Na caixa de diálogo Criar Nova Fonte de Dados, selecione um driver do Excel e clique em Avançar.
Clique em Procurar e selecione o nome do arquivo a ser usado como uma fonte de data.
Dica
Pode ser necessário selecionar Todos os Arquivos no menu suspenso para exibir os arquivos .xls.
Clique em Avançar e em Concluir.
Na caixa de diálogo Instalação ODBC para Microsoft Excel, selecione a versão e a pasta de trabalho do banco de dados.
Trabalhar em um ambiente multiusuário
Se vários usuários estão conectados a uma fonte de dados, eles podem modificar dados enquanto você manipula-os em seus conjuntos de registros. Da mesma forma, suas alterações poderão afetar os conjuntos de registros de outros usuários. Para obter mais informações, consulte Conjunto de registros: Como registros de conjuntos atualizam Registros (ODBC) e Transação (ODBC).
Generalizar a Cadeia de conexão
Os assistentes usam uma cadeia de conexão padrão para estabelecer uma conexão com uma fonte de dados. Você usa essa conexão para exibir tabelas e colunas enquanto estiver desenvolvendo seu aplicativo. No entanto, essa cadeia de conexão padrão pode não ser adequada às conexões dos seus usuários para a fonte de dados por meio do aplicativo. Por exemplo, sua fonte de dados e o caminho para a sua localização podem ser diferentes daqueles usados ao desenvolver seu aplicativo. Nesse caso, você deve reimplementar a função de membro CRecordset::GetDefaultConnect em uma forma mais genérica e descartar a implementação do assistente. Por exemplo, use uma das seguintes abordagens:
Registre e gerencie as cadeias de conexão usando o Administrador de ODBC.
Editar a cadeia de conexão e remova o nome da fonte de dados. A estrutura fornece ODBC como a fonte de dados; em tempo de execução, o ODBC exibe uma caixa de diálogo que solicita o nome da fonte de dados e qualquer outra informação de conexão necessária.
Forneça somente o nome da fonte de dados. ODBC solicita a identificação de usuário e a senha, se necessário. Por exemplo, antes de generalizar, a cadeia de conexão tem esta aparência:
CString CApp1Set::GetDefaultConnect() { return "ODBC;DSN=afx;Trusted_Connection=Yes;"; }
Essa cadeia de conexão especifica uma conexão confiável, que usa segurança integrada do Windows NT. Você deve evitar a codificação de uma senha ou a especificação de uma senha em branco, uma vez que isso cria uma grande fraqueza de segurança. Em vez disso, você pode dar a GetDefaultConnect uma nova cadeia de conexão para que ela peça uma identificação de usuário e senha.
// User must select data source and supply user ID and password: return "ODBC;"; // User ID and password required: return "ODBC;DSN=mydb;"; // Password required (myuserid must be replaced with a valid user ID): return "ODBC;DSN=mydb;UID=myuserid;"; // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID): return "ODBC;DSN=mydb;UID=sa;PWD=777;";
Conectando-se a uma fonte de dados específica
Para se conectar a uma fonte de dados específica, sua fonte de dados deve ter sido configurada com o Administrador de ODBC.
Para conectar a uma fonte de dados específica
Construa um objeto CDatabase.
Chame sua função de membro OpenEx ou Open.
Para obter mais informações sobre como especificar a fonte de dados se for algo diferente do que você especificou a um assistente, consulte CDatabase::OpenEx ou CDatabase::Open na Referência MFC.
Desconectando-se de uma fonte de dados
Você deve fechar os conjuntos de registros abertos antes de chamar a função membro Fechar de CDatabase. Em conjuntos de registros associados com o objeto CDatabase que você deseja fechar, quaisquer instruções pendentes AddNew ou Editar são canceladas e todas as transações pendentes são revertidas.
Para desconectar-se de uma fonte de dados
Chame a função de membro de Close do objeto CDatabase.
Destrua o objeto, a menos que você queira reutilizá-lo.
Reutilizando um objeto de CDatabase
É possível reutilizar um objeto de CDatabase após se desconectar dele, independente se usá-lo para reconectar à mesma fonte de dados ou para se conectar a uma fonte de dados diferente.
Para reutilizar um objeto de CDatabase
Feche a conexão original do objeto.
Em vez de destruir o objeto, chame a função de membro OpenEx ou Abrir novamente.
Consulte também
Referência
Conceitos
Fonte de dados: determinando o esquema da fonte de dados (ODBC)