Fonte de dados: Configurando programaticamente uma fonte de dados ODBC
Este tópico explica como você pode configurar nomes de fonte de dados ODBC (em aberto banco de dados conectividade) por meio de programação.Isso lhe dá flexibilidade para acessar os dados sem obrigar o usuário usar explicitamente o administrador de ODBC ou outros programas para especificar os nomes das fontes de dados.
Normalmente, um usuário executa o administrador do ODBC para criar uma fonte de dados se o sistema de gerenciamento de banco de dados associado (DBMS) oferece suporte para esta operação.
Ao criar uma fonte de dados ODBC do Microsoft acesso por meio do administrador do ODBC, você terá duas opções: Você pode selecionar um arquivo .mdb existente ou criar um novo arquivo .mdb.Não é possível através de programação de criar o arquivo .mdb do seu aplicativo ODBC do MFC.Portanto, se seu aplicativo requer que você coloque dados em uma fonte de dados do Microsoft acesso (arquivo.mdb), provavelmente você deseja ter um arquivo .mdb vazio que você pode usar ou copiar sempre que você precisar.
No entanto, muitos DBMSs permitem criação de fonte de dados através de programação.Algumas fontes de dados mantêm uma especificação de diretório para bancos de dados.Ou seja, um diretório é a fonte de dados e cada tabela na fonte de dados é armazenada em um arquivo separado (no caso do dBASE, cada tabela é um arquivo .dbf).Drivers para outros bancos de dados ODBC, sistema autônomo o Microsoft acesso e SQL servidor, exigem que alguns critérios específicos ser atendida antes que uma fonte de dados possa ser estabelecida.Por exemplo, ao usar o driver ODBC do SQL servidor, você precisa ter estabelecido um computador SQL servidor.
Exemplo da SQLConfigDataSource
O exemplo a seguir utiliza o :: SQLConfigDataSource Função de API do ODBC para criar uma nova fonte de dados do Excel chamada nova fonte de dados do Excel:
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Excel Files (*.xls)",
"DSN=New Excel Data Source\0"
"Description=New Excel Data Source\0"
"FileType=Excel\0"
"DataDirectory=C:\\EXCELDIR\0"
"MaxScanRows=20\0");
Observe que a fonte de dados é, na verdade, um diretório (C:\EXCELDIR); essa pasta deve existir.O driver para o Excel usa diretórios sistema autônomo suas fontes de dados e arquivos sistema autônomo sistema autônomo tabelas individuais (uma tabela por arquivo .xls).
Para obter mais informações sobre a criação de tabelas, consulte Fonte de dados: Programaticamente, criando uma tabela em uma fonte de dados ODBC.
As informações a seguir descreve os parâmetros que precisam ser passadas para o :: SQLConfigDataSource Função de ODBC API.Para usar :: SQLConfigDataSource, você deve incluir o cabeçalho Odbcinst.h de arquivo e usar a biblioteca de importação Odbcinst.lib.Além disso, Odbccp32.dll deve estar no caminho no time de execução (ou Odbcinst.dll de 16 bit).
Você pode criar um nome de fonte de dados ODBC usando o administrador de ODBC ou um utilitário semelhante.No entanto, às vezes é desejável para criar um nome de fonte de dados diretamente a partir do seu aplicativo para obter acesso sem exigir que o usuário executar um utilitário separado.
Administrador de ODBC (normalmente instalados no painel de controle) cria uma nova fonte de dados, colocando entradas no registro do Windows (ou, para 16 bit, no arquivo Odbc.ini).O ODBC Driver Manager consulta este arquivo para obter as informações necessárias sobre a fonte de dados.É importante saber as informações que precisam ser colocado no registro, pois você precisará fornecer a telefonar para :: SQLConfigDataSource.
Embora essas informações puderam ser gravadas diretamente no registro sem usar :: SQLConfigDataSource, qualquer aplicativo que faz isso depende a técnica corrente que usa o Gerenciador de driver para manter seus dados.Se uma revisão mais recente para o registro de implementa ODBC Driver Manager manter sobre fontes de dados em uma forma diferente, qualquer aplicativo que usa essa técnica será interrompido.É geralmente recomendável usar uma função API quando é fornecida.Por exemplo, seu código é portáteis de 16 bit para 32 bit se você usar o :: SQLConfigDataSource funcionar, porque a função corretamente grava o ODBC arquivo .ini ou no registro.
Parâmetros SQLConfigDataSource
A seguir explica os parâmetros do :: SQLConfigDataSource função.Grande parte das informações é obtido da ODBC API Referência do programador fornecidos com o Visual C++ versão 1.5 e posterior.
Protótipo de função
BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);
Comentários
Parâmetros e uso
hwndParent
Na janela especificada sistema autônomo o proprietário de todas sistema autônomo caixas de diálogo que cria ou o Gerenciador de driver ODBC ou o driver ODBC específico para obter informações adicionais do usuário sobre a nova fonte de dados.Se o lpszAttributes parâmetro não fornece informações suficientes, será exibida uma caixa de diálogo. The hwndParent parâmetro pode ser NULO.lpszDriver
A descrição do driver.Este é o nome apresentado para os usuários em vez do nome de driver física (DLL).lpszAttributes
Lista de atributos no formulário "nome de chave = valor".Estas seqüências de caracteres são separadas por terminadores nulo com dois terminadores nulo consecutivos no participante da lista.Esses atributos são principalmente específica do driver entradas padrão, que vai para o registro para a nova fonte de dados.Uma chave importante não mencionados na referência da API do ODBC para essa função é "DSN" ("dados de nome de origem"), que especifica o nome da nova fonte de dados.O restante das entradas são específicas para o driver para a nova fonte de dados.Muitas vezes não é necessário fornecer todas as entradas porque o driver pode solicitar que o usuário com caixas de diálogo para os novos valores.(conjunto hwndParent to NULO para fazer isso.) Convém fornecer explicitamente valores padrão para que o usuário não é solicitado.
Para determinar a descrição de um driver para o parâmetro lpszDriver usando o administrador do ODBC
Execute o administrador ODBC.
Clique em Adicionar.
Isso lhe dá uma lista de drivers instalados e suas descrições.Use essa descrição sistema autônomo a lpszDriver parâmetro. Observe que usar a descrição completa, sistema autônomo "Arquivos do Excel (*.xls)", incluindo a extensão de nome de arquivo e parênteses se existirem na descrição.
sistema autônomo alternativa, você pode examinar o registro (ou, para o arquivo Odbcinst.ini de 16 bit), que contém uma lista de todas sistema autônomo entradas de driver e sistema autônomo descrições na chave do Registro "ODBC Drivers" (ou a seção [drivers ODBC] Odbcinst.ini).
Uma maneira de encontrar o keynames e valores para o lpszAttributes parâmetro é examinar o ODBC arquivo .ini para uma fonte de dados já configurado (talvez um que tenha sido configurado pelo administrador do ODBC).
Para localizar keynames e valores de parâmetro lpszAttributes
Executar o editor do registro do Windows (ou de 16 bit, abra o ODBC arquivo .ini).
Encontre as informações de fontes de dados ODBC usando um destes procedimentos:
Para 32 bit, localize a chave HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC dados Sources no painel esquerdo.
Painel da direita lista entradas do formulário: "pub: REG_SZ: nome da fonte de dados >", onde nome da fonte de dados > é uma fonte de dados que já tenha sido configurada com as configurações desejadas para o driver que você pretende usar.selecionar a fonte de dados que você deseja, por exemplo, SQL servidor.Os itens seguindo a seqüência de caracteres "pub:" estão em ordem, o nome de chave e valor para usar no seu lpszAttributes parâmetro.
De 16 bit, encontrar a seção no arquivo Odbc.ini marcado por nome da fonte de dados >.
As linhas desta linha a seguir têm o formato "nome de chave = valor".Essas são exatamente as entradas para usar no seu lpszAttributes parâmetro.
Também convém examinar a documentação do driver específico que você pretende usar.Você pode encontrar informações úteis na ' Ajuda ' online do driver, você pode acessar, executando o administrador do ODBC.Esses arquivos de Ajuda geralmente são colocados na pasta Windows\sistema para Windows NT, Windows 3.1 ou Windows 95.
Para obter ajuda online para seu driver de ODBC
Execute o administrador ODBC.
Clique em Adicionar.
selecionar o nome do driver.
Clique em OK.
Quando o administrador ODBC exibe a informações sobre como criar uma nova fonte de dados para esse driver específico, clicar Ajuda.Isso abre o arquivo de ajuda para esse driver específico, que geralmente contém informações importantes sobre o uso do driver.
Para obter mais informações, consulte o Referência de função DLL do instalador.