TN048: escrevendo programas de instalação e administração ODBC para aplicativos de banco de dados MFC

Observação

A nota técnica a seguir não foi atualizada desde que foi incluída pela primeira vez na documentação online. Como resultado, alguns procedimentos e tópicos podem estar desatualizados ou incorretos. Para obter as informações mais recentes, é recomendável que você pesquise o tópico de interesse no índice de documentação online.

Os aplicativos que usam classes de banco de dados MFC precisarão de um programa de instalação que instale componentes ODBC. Eles também podem precisar de um programa de Administração de ODBC que recupere informações sobre os drivers disponíveis, especifique drivers padrão e configure fontes de dados. Esta nota descreve o uso da API do Instalador ODBC para escrever esses programas.

Escrever um programa de instalação ODBC

Um aplicativo de banco de dados MFC requer que os drivers ODBC e ODB Driver Manager (ODBC.DLL) possam acessar fontes de dados. Muitos drivers ODBC também exigem DLLs adicionais de rede e comunicação. A maioria dos drivers ODBC é enviada com um programa de instalação que instalará os componentes ODBC necessários. Os desenvolvedores de aplicativos que usam classes de banco de dados MFC podem:

  • Contar com os programas de instalação específicos do driver para instalar componentes ODBC. Isso não exigirá mais trabalho por parte do desenvolvedor – você pode simplesmente redistribuir o programa de instalação do driver.

  • Como alternativa, você pode escrever seu próprio programa de instalação, que instalará o gerenciador do driver e o driver.

A API do instalador ODBC pode ser usada para escrever programas de instalação específicos do aplicativo. As funções na API do instalador são implementadas pela DLL do instalador ODBC — ODBCINST.DLL no Windows de 16 bits e ODBCCP32.DLL no Win32. Um aplicativo pode chamar SQLInstallODBC na DLL do instalador, que instalará o gerenciador do driver ODBC, drivers ODBC e todos os tradutores necessários. Em seguida, ele registra os drivers e tradutores instalados no arquivo ODBCINST.INI (ou no Registro, no NT). SQLInstallODBC precisa do caminho completo para o arquivo ODBC.INF, que contém a lista de drivers a serem instalados e descreve os arquivos que compõem cada driver. Ele também contém informações semelhantes sobre o gerenciador de driver e tradutores. Normalmente, arquivos ODBC.INF são fornecidos por desenvolvedores de driver.

Um programa também pode instalar componentes ODBC individuais. Para instalar o Driver Manager, um programa primeiro chama SQLInstallDriverManager na DLL do instalador para obter o diretório de destino para o Driver Manager. Geralmente, esse é o diretório no qual residem as DLLs do Windows. Em seguida, o programa usa as informações na seção [ODBC Driver Manager] do arquivo ODBC.INF para copiar o Driver Manager e os arquivos relacionados do disco de instalação para este diretório. Para instalar um driver individual, um programa primeiro chama SQLInstallDriver na DLL do instalador para adicionar a especificação do driver ao arquivo ODBCINST.INI (ou ao Registro, no NT). SQLInstallDriver retorna o diretório de destino do driver – geralmente o diretório no qual as DLLs do Windows residem. Em seguida, o programa usa as informações na seção do driver do arquivo ODBC.INF para copiar a DLL do driver e os arquivos relacionados do disco de instalação para este diretório.

Para obter mais informações sobre o ODBC.INF, ODBCINST.INI e usando a API do instalador, consulte a Referência do Programador do SDK do ODBC, Capítulo 19, Instalar o Software ODBC.

Escrever um administrador de ODBC

Um aplicativo de banco de dados MFC pode definir e configurar fontes de dados ODBC de uma das duas maneiras, conforme a seguir:

  • Use o Administrador de ODBC (disponível como um programa ou como um item do Painel de Controle).

  • Crie seu próprio programa para configurar fontes de dados.

Um programa que configura fontes de dados faz chamadas de função para a DLL do instalador. A DLL do instalador chama uma DLL de instalação para configurar uma fonte de dados. Há uma DLL de instalação para cada driver; pode ser a própria DLL do driver ou uma DLL separada. A DLL de instalação solicita ao usuário informações de que o driver precisa para se conectar à fonte de dados e ao tradutor padrão, se houver suporte. Em seguida, ela chama a DLL do instalador e as APIs do Windows para registrar essas informações no arquivo de ODBC.INI (ou Registro).

Para exibir uma caixa de diálogo na qual um usuário pode adicionar, modificar e excluir fontes de dados, um programa chama SQLManageDataSources na DLL do instalador. Essa função é invocada quando a DLL do instalador é chamada do Painel de Controle. Para adicionar, modificar ou excluir uma fonte de dados, SQLManageDataSources chama ConfigDSN na DLL de instalação para o driver associado a essa fonte de dados. Para adicionar, modificar ou excluir fontes de dados diretamente, um programa chama SQLConfigDataSource na DLL do instalador. O programa passa o nome da fonte de dados e uma opção que especifica a ação a ser tomada. SQLConfigDataSource chama ConfigDSN na DLL de instalação e passa os argumentos de SQLConfigDataSource.

Para obter mais informações, consulte Referência do Programador do SDK do ODBC, Capítulo 23, Referência da Função de DLL de Configuração e Capítulo 24, Referência da Função de DLL do Instalador.

Confira também

Observações técnicas por número
Observações técnicas por categoria