Informações sobre: DB HFSQL
By: Wladimir Albuquerque Silva, Eng TI
Revised By: José Jorge Matos
Como todos sabem o HFSQL é o Banco de Dados Nativo das Ferramentas PcSoft.
Revised By: José Jorge Matos
Como todos sabem o HFSQL é o Banco de Dados Nativo das Ferramentas PcSoft.
Há duas versões
que podemos trabalhar com o Data Base HFSQL:
·
HFSQL Classic
·
HFSQL Client/Server
Onde se encontram
Fisicamente estes Arquivos.
Eu tinha grande
dificuldades em entender onde encontraria os arquivos fisicamente no HD do meu
micro, pois como por muito tempo eu utilizei o Access (.MDB) eu não conseguia
entender como era o comportamento do HFSQL.
Pois bem, vamos o
que interessa.
Os arquivos .FIC
são as tabelas com os Dados Armazenados.
Os arquivos .NDX
são apoios aos “arq.FIC” e ficam no mesmo local/Pasta, contém
informações de indexação.
·
HFSQL Classic
Quando criamos na
Análise, estrutura da Tabela, uma tabela com o nome CLIENTE, e após criar a
Janela e todos os seus controles, ao executar pela primeira vez o Teste do
Projeto (GO!), será criado no local onde está sendo desenvolvido o Projeto o
Arquivo “CLIENTE.FIC”, dentro da Sub-Pasta “\EXE”.
Todas as Tabelas
e seus Índices serão Criados nesta Pasta/Diretório.
Entendendo o que
ocorre com os Arquivos HFSQL Classic, podemos alterar MANUALMENTE a Base de
Dados para testar em DB diferentes, por exemplo, imagine que temos uma tabela
preenchida com 1000(hum mil) registros na tabela de CLIENTE e esses são dados
reais, ao fazer alterações e realizar TESTES (GO!) no WD podemos começar a
colocar sujeiras nessa base e depois perder a sequência de ID e tantas outras
coisas, ou seja, populacionar a DB com registros irreais.
Para resolvermos
este problema, e é muito comum utilizarmos desse recurso, devemos tão somente
copiar os Arquivos “CLIENTE.FIC” e “CLIENT.NDX” para um outro diretório, e após
todos os TESTES realizados, podemos retornar com os Arquivos ao local original.
ATENÇÃO:
Associe os Arquivos
“file.FIC”, quando sofrerem um Duplo Click ou Enter, para abrir com o
Executável WDMap.EXE que se encontra dentro da Pasta Programs dentro do
Diretório onde o WinDev foi instalado.
Isso facilitará
dar manutenção diretamente nas Tabelas “.FIC”, podendo inclusive Copiar e Colar
dados de outros aplicativos como Planilhas Excel, arquivos MDB, e tantas outras
possibilidades.
·
HFSQL Client/Server
Tudo que falamos
para o HFSQL Classic também se aplica a esta versão, apenas com alguns
detalhes.
Quando instalamos
o HFSQL Client/Server, definimos onde seria o Servidor, normalmente
“LocalHost”.
No meu caso ele
se encontra: C:\PC SOFT\LocalHost
Dentro dessa
Pasta você encontrará outras sub-pastas, procure por algo como “HFSQL server”,
digo “algo” porque o nome pode mudar de acordo com o perfil de instalação e/ou
a quantidade de vezes que Excluímos e Criamos novos Servidores.
Dentro da Pasta,
no meu caso o caminho é: “C:\PC SOFT\LocalHost\HFSQL Server_2”, vamos encontrar
mais uma sub-pasta “BDD”, enfim aqui estão todas as Bases de Dados criadas pelo
Desenvolvedor, podem ter tantas quantas necessárias, cada DB será criado uma
nova Pasta com o mesmo nome da DB, dentro dela encontramos todos os Arquivos
“.FIC” mencionados na versão HFSQL Classic.
ü
Como utilizar vários DB, por exemplo: um para
Teste de desenvolvimento e outro com Dados Reais?
Para este caso,
aconselho abrir a Conexão com o Servidos, através do Aplicativo “HFSQL Control
Center” na seleção de Servidor forneça as informações necessárias, após abrir a
conexão selecione o DB que está trabalhando e com um Click do Botão Direito do
maous, no menu suspenso, selecione DUPLICAR, uma replica exata do DB será
criada, mais uma Pasta dentro do LocalHost (lembra?), e agora você pode através
de conexões dentro do seu aplicativo alterar a sua DB, e assim Preservar a DB
Real da DB para Testes.
ATENÇÃO:
Sempre utilizo o comando: HOpenConnection(Wiazard...
A estrutura, pode
inicialmente ficar no Projet Code, ou seja, é a Primeira ação a ser executada.
Minha estrutura
de Conexão final fica assim, por exemplo:
Connect_WAS is Connection //Declaração do Nome da Conexão
// Parâmetros da Conexão, Linhas
Criadas através do WIZARD
Connect_WAS..Provider = hAccessHFClientServer // Informe o Provider
Connect_WAS..User = "Admin" // Informe o Usuário do Servidor
Connect_WAS..Password = "" // Informe a Senha do Servidor
Connect_WAS..Server = "LocalHost:4900"
//Informe o Servidor e a Porta de Conexão
Connect_WAS..Database = "Nome_da_DB"
// Informe o Nome da Data Base
Connect_WAS..CryptMethod = hCryptNo // Informe se está Criptografado ou Não
// Abre a Conexão, se há ERRO, mostra
Aviso e sai do Programa.
IF HOpenConnection(Connect_WAS)=False THEN
Info("Erro na Conexão: ",HErrorInfo())
EndProgram()
END
//Força usar a Conexão desejada à
todas as Tabelas
HChangeConnection("*",Connect_WAS)
HCreationIfNotFound("*") //CRIAR AS TABELAS QUANDO ELAS NÃO EXISTIREM |
OBSERVAÇÃO:
Utilizar HCreationIfNotFound("*") apenas em ambiente de desenvolvimento, porque em produção e no caso de uma aplicação com muitas tabelas, essa função degrada o arranque do programa, porque faz uma verificação de todas as tabelas da análise, "conferindo" se as mesmas existem no banco de dados.
Noutras palavras, a instrução HCreationIfNotFound("*"), deve e pode ser utilizado, quando por exemplo, você está desenvolvendo um Projeto e precisa fazer algumas considerações como populacionar sua DB antes mesmo de fazer os primeiros Testes.
Nenhum comentário:
Postar um comentário