Partilhar via


Fonte de dados: Gerenciando conexões (ODBC)

Este tópico se aplica às classes ODBC do MFC.

Este tópico explica:

Conectar-se a uma fonte de dados significa estabelecer comunicações com um DBMS para acessar os dados. Quando você se conecta a uma fonte de dados de um aplicativo por meio de um driver ODBC, o driver faz a conexão para você, localmente ou através de uma rede.

Você pode se conectar a qualquer fonte de dados para a qual você tenha 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 como redistribuir drivers ODBC, consulte Redistribuindo componentes ODBC para seus clientes.

Configurando uma fonte de dados

O Administrador ODBC é usado para configurar suas fontes de dados. Você também pode usar o Administrador ODBC após a instalação para adicionar ou remover fontes de dados. Ao criar aplicativos, você pode direcionar seus usuários para o Administrador ODBC para permitir que eles adicionem fontes de dados ou pode criar essa funcionalidade em seu aplicativo fazendo chamadas diretas de instalação ODBC. Para obter mais informações, consulte Administrador ODBC.

Você pode usar um arquivo do Excel como fonte de dados e precisa configurar o arquivo para que ele seja registrado e apareça na caixa de diálogo Selecionar Fonte de Dados .

Para usar um arquivo do Excel como fonte de dados

  1. Configure o arquivo com o administrador de fonte de dados ODBC.

  2. Na guia DSN de arquivo , clique em Adicionar.

  3. Na caixa de diálogo Criar Nova Fonte de Dados , selecione um driver do Excel e clique em Avançar.

  4. Clique em Procurar e selecione o nome do arquivo a ser usado como fonte de data.

Observação

Talvez seja necessário selecionar Todos os arquivos no menu suspenso para exibir os arquivos .xls.

  1. Clique em Seguintee, em seguida, clique em Concluir.

  2. Na caixa de diálogo Instalação do Microsoft Excel ODBC , selecione a versão e a pasta de trabalho do banco de dados.

Trabalhando em um ambiente multiusuário

Se vários usuários estiverem conectados a uma fonte de dados, eles poderão alterar os dados enquanto você os manipula em seus conjuntos de registros. Da mesma forma, suas alterações podem afetar os conjuntos de registros de outros usuários. Para obter mais informações, consulte Recordset: How Recordsets Update Records (ODBC) and Transaction (ODBC).

Generalizando 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 desenvolve seu aplicativo. No entanto, essa cadeia de conexão padrão pode não ser apropriada para as conexões dos usuários com a fonte de dados por meio do aplicativo. Por exemplo, sua fonte de dados e o caminho para seu local podem ser diferentes daquele usado no desenvolvimento de seu aplicativo. Nesse caso, você deve reimplementar a função de membro CRecordset::GetDefaultConnect de 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 ODBC.

  • Edite a cadeia de conexão e remova o nome da fonte de dados. A estrutura fornece ODBC como fonte de dados; em tempo de execução, o ODBC exibe uma caixa de diálogo solicitando o nome da fonte de dados e quaisquer outras informações de conexão necessárias.

  • Forneça apenas o nome da fonte de dados. O ODBC pede o ID 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 a segurança integrada do Windows NT. Você deve evitar codificar uma senha ou especificar uma senha em branco, porque isso cria uma grande falha de segurança. Em vez disso, você pode fornecer GetDefaultConnect uma nova cadeia de conexão para que ela consulte um ID 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 já deve ter sido configurada com o Administrador ODBC.

Para conectar-se a uma fonte de dados específica

  1. Construa um CDatabase objeto.

  2. Chame a sua função OpenEx ou o seu membro Open.

Para obter mais informações sobre como especificar a fonte de dados se for algo diferente daquele especificado com um assistente, consulte CDatabase::OpenEx ou CDatabase::Open na Referência MFC.

Desconectando de uma fonte de dados

Você deve fechar todos os conjuntos de registros abertos antes de chamar a função membro Close de CDatabase. Nos conjuntos de registos associados ao objeto CDatabase que desejas fechar, quaisquer instruções AddNew ou Edit pendentes são canceladas e todas as transações pendentes são revertidas.

Para se desconectar de uma fonte de dados

  1. Chame a função membro CDatabase do objeto .

  2. Destrua o objeto, a menos que queira reutilizá-lo.

Reutilizando um objeto CDatabase

Você pode reutilizar um CDatabase objeto depois de se desconectar dele, quer o use para se reconectar à mesma fonte de dados ou para se conectar a uma fonte de dados diferente.

Para reutilizar um objeto CDatabase

  1. Feche a conexão original do objeto.

  2. Em vez de destruir o objeto, chame a sua função membro OpenEx ou Open novamente.

Ver também

Fonte de dados (ODBC)
Fonte de dados: Determinando o esquema da fonte de dados (ODBC)
Classe CRecordset