Como configurar fontes de dados ODBC na surgir

Traduções deste artigo Traduções deste artigo
ID do artigo: 110507 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Você pode configurar nomes de fonte de dados ODBC (Open Database Connectivity) por meio de programação. Isso lhe dá flexibilidade para exportar dados sem forçar o usuário usar explicitamente o administrador de ODBC ou outros programas para especificar os nomes das fontes de dados. Por exemplo, isso pode permitir que seu programa para usar a API ODBC (application programming interface) para exportar um arquivo .xls. Para fazer isso, use a função SQLConfigDataSource().

O exemplo a seguir utiliza SQLConfigDataSource para criar uma nova fonte de dados do Excel chamada "New Excel Data Source":
   SQLConfigDataSource(NULL,ODBC_ADD_DSN,
     (LPSTR) "Excel Files (*.xls)",
     (LPSTR) "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 é realmente um diretório (C:\EXCELDIR). O driver do Excel tem diretórios como suas fontes de dados e arquivos como as tabelas individuais (uma tabela por arquivo .xls).

Para obter informações adicional sobre como criar tabelas, consulte os seguintes artigos na Base de dados de Conhecimento Microsoft:
110508Criando tabelas com Foundation Classes de banco de dados
As informações a seguir descreve os parâmetros que precisam ser passados para a função SQLConfigDataSource() ODBC API. Para usar a função SQLConfigDataSource(), você deve incluir o arquivo de cabeçalho ODBCINST.H e usar a biblioteca de importação ODBCINST.LIB.

Observação: Para aplicativos de 32 bits, você deve ainda incluir arquivo de cabeçalho ODBCINST.H, no entanto, você deve vincular com ODBCCP32.lib agora

Observação: As informações contidas neste artigo são duplicadas na 'programação com MFC Enciclopédia' fornecida com o Visual C++ 4.0. O artigo pode ser encontrado pesquisando "SQLConfigDataSource" e selecionando o artigo intitulado ' perguntas FREQÜENTES: programaticamente configurando uma fonte de dados ODBC '.

Mais Informações

Observação: Este artigo foi originalmente escrito dos componentes de ODBC de 16 bits somente. Os componentes ODBC de 16 bits usam arquivos INI para armazenar informações em datasources configurado (ODBC.ini) e drivers (ODBCINST.INI) instalados. Os componentes ODBC de 32 bits não usa arquivos INI mas, em vez disso, gravar essas informações no registro. Informações de fonte de dados do sistema e informações de driver instalado são armazenadas em HKEY_LOCAL_MACHINE\SOFTWARE\ ODBC\ em ODBC.ini e ODBCINST.INI, respectivamente. Não-System datasources são armazenados em HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI. No restante deste artigo, referências para ODBC.ini devem ser interpretadas como se referindo a seção apropriada do Registro, se você estiver usando os componentes ODBC de 32 bits.

Um nome de fonte de dados ODBC pode ser criado usando o programa Administrador de ODBC ou o utilitário semelhante. No entanto, às vezes é desejável criar um nome de fonte de dados diretamente do seu aplicativo para que o acesso pode ser obtido sem exigir que o usuário executar um utilitário separado.

O administrador ODBC (geralmente instalados no painel de controle do Windows) cria uma nova fonte de dados colocando entradas no arquivo ODBC.ini. Este arquivo é consultado pelo Gerenciador de driver de ODBC para obter as informações necessárias sobre a fonte de dados. É importante saber as informações que precisam ser colocado no ODBC.ini pois você precisará fornecer a chamada para SQLConfigDataSource().

Embora essas informações podem ser escritas diretamente para o arquivo ODBC.ini [sem usar SQLConfigDataSource()], qualquer aplicativo que faz isso é contar com a técnica atual que usa o Gerenciador de driver para manter seus dados. Se uma revisão posterior para o Gerenciador de driver ODBC implementa grave manter sobre fontes de dados em uma forma diferente, e qualquer aplicativo que usou essa técnica seria quebrado. É recomendável usar uma função API quando é fornecida geralmente.

Abaixo, você encontrará uma explicação sobre os parâmetros da função SQLConfigDataSource(). Grande parte das informações é obtido da referência do programador de API ODBC fornecida com o Visual C++ versão 1.5. Protótipo de função:
   BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest,
                            LPCSTR lpszDriver,
                            LPCSTR lpszAttributes);
hwndParent - esta é a janela que será usada como o proprietário de qualquer caixas de diálogo que são criados pelo Gerenciador de driver ou o driver ODBC específico para obter informações adicionais do usuário sobre a nova fonte de dados. Se não houver informações suficientes fornecidas no parâmetro lpszAttributes, aparecerá uma caixa de diálogo. Este parâmetro pode ser NULL, consulte a referência para especificações.

fRequest - A operação a ser executada. Os valores possíveis são:
                      ODBC_ADD_DSN: Add new user data
                        source.
                      ODBC_CONFIG_DSN: Modify an
                        existing data source.
                      ODBC_REMOVE_DSN: Remove an
                        existing data source.
os valores a seguintes estão disponíveis no ODBC 2.53.0 ou posterior de 32 bits somente:
                      ODBC_ADD_SYS_DSN: Add a new
                        system data source.
                      ODBC_CONFIG_SYS_DSN: Modify
                        an existing system data
                        source.
                      ODBC_REMOVE_SYS_DSN: Remove
                        an existing system data
                        source.
lpszDriver - descrição do driver. Como a documentação menciona, isso é o nome apresentado para os usuários em vez do driver físico (DLL). Você pode determinar a descrição de um driver usando o programa Administrador ODBC da seguinte maneira:

  1. Execute o programa Administrador ODBC.
  2. Escolha adicionar. Isso lhe dará uma lista de drivers instalados.
A lista contém descrições de driver. É essa descrição que você usará como o parâmetro lpszDriver. Observe que a descrição INTEIRA é usada [por exemplo, "Arquivos do Excel (*.xls)"] incluindo a extensão de arquivo e parênteses se existirem na descrição.

Opcionalmente, você pode examinar o arquivo ODBCINST.INI, que contém uma lista de todas as entradas de driver e as descrições na seção [drivers ODBC].

lpszAttributes - lista de atributos no formulário "nome de chave = valor". Estas seqüências de caracteres são separadas por terminadores nulos com dois terminadores nulos consecutivos no final da lista. Esses atributos principalmente será entradas específicas do driver padrão, que ir para o arquivo ODBC.ini para a nova fonte de dados. Uma chave importante, não é mencionada na referência da API do ODBC para essa função, é "DSN", que especifica o nome da nova fonte de dados. O restante das entradas são específicos para o driver para a nova fonte de dados. Muitas vezes não é necessário fornecer todos as entradas porque o driver pode solicitar ao usuário (se hwndParent não for nulo) com caixas de diálogo para os novos valores. Convém explicitamente valores de padrão de alimentação para que o usuário não é solicitado.

Uma maneira de localizar o keynames e seus valores é examinar as entradas do Registro para uma fonte de dados já configurado (talvez um que tenha sido configurado pelo programa Administrador ODBC):

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows

  1. Usando regedit ir a HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
  2. Localize a seção que corresponde ao seu nome de fonte de dados. Lá você encontrará os pares de palavra-chave. Aviso, editar manualmente os valores do Registro pode causar instabilidade do sistema e talvez uma falha irrecuperável.
Você também pode desejar examinar a documentação do driver específico que você pretende usar. Informações úteis podem ser encontradas na Ajuda on-line para o driver, que pode ser acessado usando o administrador de ODBC: clique em Adicionar, selecione o nome do driver e clique em OK. Quando as informações para criar uma nova fonte de dados é exibida para esse driver específico, selecione Ajuda. Isso abrirá o arquivo de Ajuda para esse driver específico, que geralmente contém informações importantes sobre o uso do driver.

Referências

ODBC Programmer Reference e SDK Guide (disponível nos manuais online).

Propriedades

ID do artigo: 110507 - Última revisão: terça-feira, 29 de junho de 2004 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Palavras-chave: 
kbmt kbdatabase kbhowto KB110507 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 110507

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com