Como configurar origens de dados ODBC no Fly

Traduções de Artigos Traduções de Artigos
Artigo: 110507 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Pode configurar nomes de origem de dados ODBC (Open Database Connectivity) através de programação. Isto permite flexibilidade para exportar dados sem forçar o utilizador a utilizar explicitamente o administrador de ODBC ou outros programas para especificar os nomes de origens de dados. Por exemplo, este poderá, activar o programa utilize a API de ODBC (application programming interface) para exportar um ficheiro .XLS. Para o fazer, utilize a função SQLConfigDataSource().

O exemplo seguinte utiliza SQLConfigDataSource para criar uma nova origem de dados de Excel denominada "Origem de dados de Excel novo":
   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");
Note que a origem de dados é na realidade um directório (C:\EXCELDIR). O controlador do Excel tem directórios como respectivas origens de dados e ficheiros, as tabelas individuais (uma tabela por .XLS ficheiro).

Para obter informações adicionais sobre como criar tabelas, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
110508Criar tabelas com Foundation Classes de base de dados
As informações abaixo descreve os parâmetros que têm de ser passados para a função de API de ODBC SQLConfigDataSource(). Para utilizar a função SQLConfigDataSource(), tem de incluir o ficheiro de cabeçalho ODBCINST.H e utilize a biblioteca de importação ODBCINST.LIB.

NOTA: Para aplicações de 32 bits, tem de ainda incluir ficheiro de cabeçalho ODBCINST.H, no entanto, agora tem de ligar com ODBCCP32.lib

NOTA: As informações contidas neste artigo são duplicadas na 'programação com MFC enciclopédia' fornecida com o Visual C++ 4.0. Encontrará o artigo "SQLConfigDataSource" a procurar e seleccionando o artigo intitulado ' perguntas mais FREQUENTES: Programatically configurar uma origem de dados ODBC '.

Mais Informação

NOTA: Este artigo foi escrito originalmente para apenas os componentes ODBC de 16 bits. Os componentes ODBC de 16 bits utilizam ficheiros INI para armazenar informações datasources configurado (ODBC.ini) e controladores (ODBCINST.INI) instalados. Os componentes ODBC de 32 bits já não utilizar ficheiros INI mas, em vez disso, escrever essas informações no registo. Informações da origem de dados de sistema e informações de controlador instalado são armazenadas em HKEY_LOCAL_MACHINE\SOFTWARE\ ODBC\ ODBC.ini e ODBCINST.INI, respectivamente. Datasources de sistema não são armazenadas em HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI. No restante deste artigo, as referências para ODBC.ini devem ser interpretadas como se refere a secção apropriada do registo se estiver a utilizar os componentes ODBC de 32 bits.

Um nome de origem de dados de ODBC pode ser criado utilizando o administrador de ODBC programa ou utilitário semelhante. No entanto, por vezes é desejável criar um nome de origem de dados directamente da aplicação para que pode ser obtido acesso sem pedir ao utilizador executar um utilitário separado.

O administrador de ODBC (normalmente instalado no painel de controlo do Windows) cria uma nova origem de dados, colocando entradas no ficheiro ODBC.ini. Este ficheiro é consultado pelo Gestor de controlador de ODBC para obter informações sobre a origem de dados necessárias. É importante saber quais as informações tem de ser colocados a ODBC.ini porque vai precisar fornecer a chamada para SQLConfigDataSource().

Embora esta informação foi possível escrever directamente o ficheiro ODBC.ini [sem utilizar SQLConfigDataSource()], qualquer aplicação que efectue este procedimento é depender a actual técnica que utiliza o Gestor de controladores para manter os dados. Se implementa uma revisão posterior para o Gestor de controladores ODBC grave manter informações sobre origens de dados de um modo diferente, em seguida, qualquer aplicação que utilizar esta técnica será interrompida. Normalmente é aconselhável utilizar uma função da API quando um é fornecido.

Abaixo, poderá encontrar uma explicação sobre os parâmetros de função SQLConfigDataSource(). Muitas das informações é retirada da referência para programadores de API de ODBC fornecida com o Visual C++ versão 1.5. Função protótipo:
   BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest,
                            LPCSTR lpszDriver,
                            LPCSTR lpszAttributes);
hwndParent - trata-se a janela que será utilizada como o proprietário de caixas de diálogo que são criados pelo Gestor de controladores ou o controlador de ODBC específico para obter informações adicionais do utilizador sobre a nova origem de dados. Se não existirem suficientes informações fornecidas no parâmetro lpszAttributes, aparecerá uma caixa de diálogo. Este parâmetro pode ser NULL, consulte a referência para dados específicos.

fRequest - A operação seja 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 seguintes estão disponíveis no ODBC 2.53.0 ou posterior de 32 bits apenas:
                      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 de controlador. Como a documentação menciona, este é o nome apresentado para os utilizadores em vez do controlador físico (DLL). Pode determinar a descrição de um controlador utilizando o programa ODBC Administrator da seguinte forma:

  1. Execute o programa de administrador de ODBC.
  2. Seleccione Adicionar. Isto fornecerá uma lista de controladores instalados.
A lista contém descrições de controlador. É esta descrição que irá utilizar como parâmetro lpszDriver. Note que é utilizada a descrição de todo [por exemplo, "Ficheiros de Excel (*.xls)"] incluindo o extensão de ficheiro e parênteses que existam na descrição.

Opcionalmente, pode examinar o ficheiro ODBCINST.INI, que contém uma lista de todas as entradas do controlador e descrições na secção [ODBC Drivers].

lpszAttributes - lista de atributos no formato "nome-chave = valor". Estas cadeias de caracteres são separadas por terminadores nulo com dois terminadores nulo consecutivos no fim da lista. Estes atributos serão principalmente entradas específica do controlador predefinidas, que vão para o ficheiro ODBC.ini para nova origem de dados. Uma chave importante, não é mencionada na referência da API de ODBC para esta função é "DSN" que especifica o nome da nova origem de dados. O resto das entradas são específicos para o controlador para a nova origem de dados. Muitas vezes vezes não é necessário fornecer ALL das entradas porque o controlador pode pedir ao utilizador (se não for NULL hwndParent) com caixas de diálogo novos valores. Convém predefinições explicitamente de fornecimento para que não é pedido ao utilizador.

Uma forma de localizar o keynames e os respectivos valores é examinar as entradas de registo para uma origem de dados já configuradas (talvez uma que tenha sido configurado pelo programa do administrador de ODBC):

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows

  1. Utilizar o regedit Ir para HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
  2. Localize a secção que corresponde ao seu nome de origem de dados. Aí encontrará os pares palavra-chave. Aviso, editar manualmente os valores de registo pode causar instabilidade do sistema e talvez um erro irrecuperável.
Também convém examinar a documentação para o controlador específico que pretende utilizar. Poderão ser encontrar informações úteis a ajuda online para o controlador que pode ser acedida executando o administrador de ODBC: clique em Adicionar, seleccione o nome do controlador e clique em OK. Quando as informações para criar uma nova origem de dados para esse controlador específico, seleccione Ajuda. Isto abrirá o ficheiro de ajuda para esse controlador em particular, que normalmente contém informações importantes sobre a utilização do controlador.

Referências

O ODBC Programmer referência SDK manual e (disponível no Books Online).

Propriedades

Artigo: 110507 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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