Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A fonte de dados ou o driver utilizado por uma aplicação é por vezes codificado de forma fixa na aplicação. Por exemplo, uma aplicação personalizada escrita por um departamento de MIS para transferir dados de uma fonte de dados para outra conteria os nomes dessas fontes de dados — a aplicação simplesmente não funcionaria com outras fontes de dados. Outro exemplo é uma aplicação vertical, como uma usada para introdução de ordens. Tal aplicação utiliza sempre a mesma fonte de dados, que tem um esquema pré-definido conhecido pela aplicação.
Outras aplicações selecionam a fonte de dados ou o driver em tempo de execução. Normalmente, são aplicações genéricas que fazem consultas ad hoc, como uma folha de cálculo que usa ODBC para importar dados. Estas aplicações normalmente listam as fontes de dados ou drivers disponíveis e permitem aos utilizadores escolher aqueles com que querem trabalhar. Se uma aplicação genérica lista fontes de dados, drivers ou ambos depende frequentemente de a aplicação utilizar drivers baseados em SGBD ou em ficheiros.
Os drivers baseados em SGBD normalmente requerem um conjunto complexo de informações de ligação, como o endereço de rede, protocolo de rede, nome da base de dados, entre outros. O objetivo de uma fonte de dados é esconder toda esta informação. Portanto, o paradigma da fonte de dados é adequado para ser utilizado com motores baseados em SGBD. Uma aplicação pode apresentar uma lista de fontes de dados ao utilizador de duas formas. Pode chamar SQLDriverConnect com a palavra-chave DSN (Data Source Name) e sem valor associado; o Gestor de Condutores exibe uma lista de nomes de fontes de dados. Se a aplicação quiser controlar a aparência da lista, chama SQLDataSources para recuperar uma lista de fontes de dados disponíveis e constrói a sua própria caixa de diálogo. Esta função é implementada pelo Gestor de Drivers e pode ser chamada antes de qualquer driver ser carregado. A aplicação chama então uma função de ligação e passa-lhe o nome da fonte de dados escolhida.
Se uma fonte de dados não for especificada, é utilizada a fonte de dados padrão indicada pela informação do sistema. (Para mais informações, veja Subchave Padrão.) Se o SQLConnect for chamado usando um argumento ServerName que não pode ser encontrado, é um ponteiro nulo ou é "DEFAULT", o Driver Manager liga-se à fonte de dados predefinida. A fonte de dados padrão também é usada se a cadeia de ligação usada numa chamada para SQLDriverConnect ou SQLBrowseConnect contiver a palavra-chave DSN definida para "DEFAULT" ou se a fonte de dados especificada não for encontrada. Além disso, a fonte de dados padrão é usada se a cadeia de ligação usada numa chamada ao SQLDriverConnect não contiver a palavra-chave DSN .
Com drivers baseados em ficheiros, é possível usar um paradigma de ficheiro. Para os dados armazenados no computador local, os utilizadores frequentemente sabem que os seus dados estão num ficheiro específico, como o Employee.dbf. Em vez de selecionar uma fonte de dados desconhecida, é mais fácil para esses utilizadores selecionarem o ficheiro que conhecem. Para implementar isto, a aplicação chama primeiro SQLDrivers. Esta função é implementada pelo Gestor de Drivers e pode ser chamada antes de qualquer driver ser carregado. O SQLDrivers devolve uma lista de drivers disponíveis; também devolve valores para as palavras-chave FileUsage e FileExtns . A palavra-chave FileUsage explica se os drivers baseados em ficheiros tratam os ficheiros como tabelas, tal como o Xbase, ou como bases de dados, como o Microsoft Access. A palavra-chave FileExtns lista as extensões de nomes de ficheiro que o driver reconhece, como .dbf para um driver Xbase. Com esta informação, a aplicação constrói uma caixa de diálogo através da qual o utilizador escolhe um ficheiro. Com base na extensão do ficheiro escolhido, a aplicação liga-se então ao driver chamando SQLDriverConnect com a palavra-chave DRIVER .
Nada impede uma aplicação de usar uma fonte de dados com um driver baseado em ficheiros ou de chamar o SQLDriverConnect com a palavra-chave DRIVER para se ligar a um driver baseado em SGBD. Aqui estão algumas utilizações comuns da palavra-chave DRIVER para drivers baseados em SGDB:
Não criar fontes de dados. Por exemplo, uma aplicação personalizada pode usar um driver e uma base de dados específicos. Se o nome do driver e toda a informação necessária para se ligar à base de dados estiverem codificados diretamente na aplicação, os utilizadores não precisam de criar uma fonte de dados no seu computador para executar a aplicação. Tudo o que têm de fazer é instalar a aplicação e o driver.
Uma desvantagem deste método é que a aplicação tem de ser recompilada e redistribuída se a informação da ligação mudar. Se um nome de fonte de dados for codificado diretamente na aplicação em vez de informação completa de ligação, cada utilizador deve alterar apenas a informação da fonte de dados.
Aceder a um SGBD específico uma única vez. Por exemplo, uma folha de cálculo que recupera dados chamando funções ODBC pode conter a palavra-chave DRIVER para identificar um determinado driver. Como o nome do driver é significativo para quaisquer utilizadores que o possuem, a folha de cálculo pode ser passada entre esses utilizadores. Se a folha de cálculo contivesse um nome de fonte de dados, cada utilizador teria de criar a mesma fonte de dados para usar a folha de cálculo.
Navegar pelo sistema para encontrar todas as bases de dados acessíveis a um determinado condutor. Para mais informações, veja Ligar com SQLBrowseConnect, mais adiante nesta secção.