Postagem em destaque
- Gerar link
- X
- Outros aplicativos
Protheus :: Advpl :: Usando Microsoft FoxPro VFP Driver para conexão ODBC (Generic) no totvsdbAccess
No “post” anterior: Protheus :: Junction :: Estendendo o RootPath a partir de diretórios Virtuais (Ligações Simbólicas) demonstrei como acessar arquivos externos ao Protheus usando “Ligações Simbólicas”, vou demonstrar, agora, como fazer a mesma coisa pra acessar tabelas ISAM a partir de driver ODBC usando a conexão ODBC (Generic) do totvsdbAccess.
Em Primeiro lugar precisamos ver o Driver que vamos utilizar. No Exemplo utilizarei o Driver da Microsoft para conexão a arquivos do FoxPro o VFP. Se não o possuir baixe-o a partir de Visual FoxPro ODBC Driver.
Configurando o Driver:
Forneça um nome e uma Descrição para a Conexão e selecione “Free Table directory”
em “Browse” Selecione o diretório dos Dados confirme “OK”
e confirme novamente “OK”
Pronto. Definimos a conexão via ODBC. Agora vamos criar um “Alias” no totvsdbAccess para acesso aos dados. Em Configurações, selecione a aba ODBC (Generic) e clique no botão “Novo” para incluir um novo ambiente.
Vamos chama-lo de “FOXPRO” em referência ao Driver que utilizamos:
Observe que o botão salvar está desabilitado (um pequeno “bug” do dbAccess). Para habilitá-lo basta posicionar o cursor no “Get” do “Nome” e pressionar a barra de espaços.
Pronto, basta salvar a nova configuração.
Agora, clicando na aba “Assistentes” vamos testar a nova Conexão clicando no botão correspondente a “Validação de Conexão”:
Ser-lhe-a apresentado o “Assistente de Conexão”. Clique em “Avançar”:
Selecione ODBC (Generic) e clique em “Avançar”
Entre com o nome do ambiente a ser testado (Poderia ser disponibilizada uma Lista como no Wizard Anterior)
e depois clique em finalizar
Se fizemos tudo certo até aqui, aparecerá a mensagem:
Pronto. Já podemos acessar os dados dos arquivos ISAM através do dbAccess. Vamos a um exemplo:
Usando o devStudio vamos escrever o seguinte código:
Vamos adiciona-lo a um projeto, compilá-lo e executá-lo. Usando o Depurador obtemos:
e se consultar-mos as Tabelas de Dados teremos:
Olha nossa tabelinha ISAM aí…. Vamos a alguns dados:
Observando a conexão do Monitor do dbAccess:
Rastreando-a:
A saída da consulta direcionei para o console do server. Vamos verificar:
Eis o código completo utilizado no Exemplo:
#INCLUDE "PROTHEUS.CH" Local cAlias := GetNextAlias() //Obtendo o próximo Alias Disponivel Local nTcLink := AdvConnection() //Salvando a Conexão de Entrada BEGIN SEQUENCE IF ( nTcLinkOdbc < 0 ) IF !( TCSetConn( nTcLinkOdbc ) ) ConOut( "" , "Tabela SIX Aberta com Sucesso" , "" ) ( cAlias )->( dbCloseArea() ) END SEQUENCE IF !( nTcLink == NIL ) Return( NIL ) |
Agora, usado o “Query Analyzer” do SDU, teriamos:
Para consulta a tabela SIX010:
Para a consulta a Tabela SX3010:
Para consulta a Tabela SXB010
Para uma Consulta Relacional entre SX2, SX3 e SX7 …
… teríamos:
Para informações adicionais consulte:
- WIKPEDIA :: Visual FoxPro
- MSDN :: SELECT - SQL Command
- Microsoft :: Download Center :: Visual FoxPro ODBC Driver 1.0/Data Access Components (MDAC) 2.5 Sample: Utility Finds Commands Not Supported by ODBC (Unsup.exe)
Consulte o manual de referência do Driver para maiores detalhes. De resto é só usar o processo normalmente.
Eis o que tinha a apresentar….. Basta abstrair e…
[]s
иαldσ dj
Ps.: Se não me engano a opção de conexão via ODBC (Generic) está desabilitada em versões recentes do dbAccess (uma pena).
- Gerar link
- X
- Outros aplicativos
Comentários
Postagens mais visitadas
BlackTDN :: RLeg ~ Desvendando a Função ParamBox
- Gerar link
- X
- Outros aplicativos
Protheus :: Chamando Funções do Menu Diretamente e sem a Necessidade de Login
- Gerar link
- X
- Outros aplicativos
Great job!
ResponderExcluirTestado no DBAccess 4.2 Monitor - Build 20110919 - Sep 22 2011 14:23:06
(*O ODBC GENERIC esta la no canto, e deve ser encontrado por meio das setas que navegam entre as abas da pasta 'Configurções', claro, no ODBC MONITOR.)
Works fine!
Congrats!
Mestrao!!!! A brincadeira gerou um trabalhinho bacana no meu ambiente... hehe... vamos trocar uma ideia.. Afinal ja esta na hora do "OverFail" colocar um post a altura "Naldo"... Protheus x FireBird x Loucuras... Abraço!
ResponderExcluirMuito interessante!
ResponderExcluirParabéns!
Eai mano louco...
ResponderExcluirSó dando um UPDATING,
também é possível acessar os arquivos DBF usando o driver 'Microsoft dBase Driver'..
..é nóis maluco!
Protheus na veia e nas novas!
Opção de Donwload:
ResponderExcluirhttp://download.microsoft.com/download/vfoxodbcdriver/Install/6.1/W9XNT4/EN-US/VFPODBC.msi