Página 1 de 2
hbnetio
Enviado: 05 Mai 2021 12:13
por JoséQuintas
Só aproveitando, que acabei ajudando alguém com isso.
Quando gera o Harbour, é gerado o hbnetio.exe
hbnetio -? mostra as opções.
NO SERVIDOR é onde vai carregar o hbnetio.exe, indicando usuário/senha/porta/pasta de trabalho, etc. e se vai instalar como serviço, pra carregar automático.
Nas estações, é linqueditar o aplicativo com a lib hbnetio.
use ( "net:cliente" ), vai acessar o arquivo cliente.dbf na pasta indicada no servidor ao carregar hbnetio.exe.
use ( "net:pasta\cliente" ), vai acessar na pasta "pasta", criada dentro da pasta indicada ao carregar hbnetio.exe.
Sem mapeamentos nem compartilhamento nem nada.
Não fica mais rápido do que rede local, mas ninguém tem acesso aos DBFs, a não ser o aplicativo.
E ... nada impede que o servidor seja Windows ou Linux.
E se não me engano, nem mesmo se é remoto.
No meu caso, eu criei PathAndFile( cFileName ) e nessa função, eu acrescento o prefixo "net:" quando se trata de hbnetio, nenhuma outra alteração.
Uso de forma limitada, em acesso remoto, pra que nada esteja visível para os usuários, só pra isso: pra esconder os arquivos
Acaba sendo um uso praticamente local, porque é por terminal service.
Pra esses... o MySQL fez diferença enorme, porque agora o uso de DBF ficou mínimo, mas já usava hbnetio nesse faz tempo, antes do MySQL.
É que não lembrava mais como instalei, e pra ajudar o usuário acabei relembrando.
Instalei faz anos, e nunca mais mexi, e continua em uso ainda.
No começo ultrapassou os gigas em DBF/CDX, depois com MySQL resta uns 4MB talvez ainda em DBF/CDX....
hbnetio
Enviado: 07 Mai 2021 14:00
por Mario Mesquita
Boa tarde a todos.
Quintas, que interessante. Não sabia que esse HbNetIo tinha esses recursos. Proteger as tabelas sempre foi algo que me preocupou.
É complicado implementar isso? Sem muitas alterações em sistemas?
Li sua explicação, mas está bem resumida.
Saudações,
Mario.
hbnetio
Enviado: 07 Mai 2021 15:01
por JoséQuintas
É que é só isso mesmo:
No Main(), a conexão com o servidor.
Nos arquivos, o prefixo NET:
Na saída, a desconexão com o servidor.
No servidor, carrega o hbnetio, de preferência como serviço, assim carrega sempre automático.
Tem exemplo nos fontes do Harbour.
hbnetio
Enviado: 07 Mai 2021 15:08
por JoséQuintas
Meu uso:
Código: Selecionar todos
FUNCTION ze_NetIoOpen()
IF AppDatabase() == DATABASE_HBNETIO
IF ! NetIo_Connect( "SERVIDOR", 22000, , "senha" )
MsgExclamation( "Não foi possível conectar com servidor" )
QUIT
ENDIF
ENDIF
RETURN NIL
FUNCTION ze_NetIoClose()
IF AppDatabase() == DATABASE_HBNETIO
BEGIN SEQUENCE WITH __BreakBlock()
NetIo_Disconnect( "SERVIDOR", 22000 )
END SEQUENCE
ENDIF
RETURN NIL
FUNCTION PathAndFile( cFileName )
IF AppDatabase() == DATABASE_HBNETIO
cFileName := "net:" + AppEmpresaApelido() + "/" + cFileName
ENDIF
cFileName := Lower( cFileName )
RETURN cFileName
Na abertura de arquivos:
e a rotina acrescenta o prefixo se for hbnetio.
Código: Selecionar todos
FUNCTION AbreArquivos( cFileName )
RETURN PathAndFile( cFileName )
hbnetio
Enviado: 07 Mai 2021 15:52
por JoséQuintas
Com essas mudanças, com ou sem hbnetio tudo funciona.
AppDatabase() é o que retorna se vai usar ou não, que tá configurado num CFG.
hbnetio
Enviado: 07 Mai 2021 16:53
por Mario Mesquita
Oi, Quintas.
Achei uns exemplos nas pastas do HMG. É bem pouca coisa e bem simplificada. Parece simples mesmo, mas se for assim, gostaria de usar, sempre dá mais segurança ao restringir o acesso às tabelas.
Como seria o uso típico? Definir uma pasta, entendi. Mas seria criar uma pasta que eu coloque todos os meus sistemas e subpastas com dados?
Teria que ser como o MySql, uma pasta que se coloque todas as tabelas? Ou dá pra customizar em cada sistema?
Aliás, vi que tem uns #defines em uns exemplos que usam o 127.0.0.1 para o servidor. Isso é default, pode usar assim pra geral?
Eu faço do modo mais básico mesmo, programa e tabelas na mesma pasta, um .bat apontando pra pasta do servidor, tipo "X:\Sistema" ou "\\Servidor\Sistema".
Outro ponto: pra suporte remoto, como se acessa as tabelas? Para manutenção, às vezes pego backup pra testes, essas coisas.
Sds,
Mario.
hbnetio
Enviado: 07 Mai 2021 18:14
por Itamar M. Lins Jr.
Olá!
Não fica mais rápido do que rede local, mas ninguém tem acesso aos DBFs, a não ser o aplicativo.
Fica mais rápido.
Acaba sendo um uso praticamente local, porque é por terminal service.
Por isso não notou a diferença de velocidade para rede mapeada.
LetoDbf é mais indicado por ser mais completo e tem a comunicação criptografada.
Mudança mínima nos fontes também.
Saudações,
Itamar M. Lins Jr.
hbnetio
Enviado: 08 Mai 2021 13:42
por alisdava
Caro
Quintas e colegas do grupo
Ocorre o seguinte , com a ajuda do Quintas esta quase tudo certo para a migração com o hbnetio, o meu problema e que não estou conseguindo subir o serviço no windows.
coloco hbnetio -i dentro da pasta do programa no servidor
instalo o serviço inicio ele , mais na hora de abrir o arquivo do use da erro
só funciona quando executo o hbnetio.exe com os parametros
hbnetio -iface=ip rootdir=diretoriodos dados
mais com esse procedimento a janela fica aberta tem como rsolver esse problema.
hbnetio
Enviado: 08 Mai 2021 15:20
por JoséQuintas
Talvez tenha faltado executar como administrador.
Ou use o utilitário SC.EXE do Windows.
sc /?
DESCRIÇÃO:
SC é um programa da linha de comando usado para a comunicação com o
Gerenciador de Controle de Serviço e os serviços.
USO:
sc <servidor> [comando] [nome do serviço] <opção1> <opção2>...
A opção <servidor> tem a forma "\\Nome_do_Servidor"
Para obter mais ajuda sobre comandos, digite: "sc [comando]"
Comandos:
query ----------- Consulta o status de um serviço ou
enumera o status dos tipos de serviços.
queryex --------- Consulta o status estendido de um serviço ou
enumera o status de tipo de serviços.
...
Digite aí no seu Windows pra pegar o manual completo
hbnetio
Enviado: 10 Mai 2021 07:58
por alisdava
Bom dia
Quintas e amigos
Resolvi o problema com esse aplicativo para instalar o serviço no windows
nssm install Harbour - logo após aparecerá a janela para buscar o arquivo hbnetio.exe
nssm start Harbour -rootdir=diretoriodedados
com esse comando o serviço será inciado com os parâmetros necessários
[]'s
Alex
hbnetio
Enviado: 10 Mai 2021 08:23
por JoséQuintas
O sc.exe do Windows é pra isso, não precisa utilitário a mais.
hbnetio
Enviado: 13 Mai 2021 11:50
por alisdava
Bom dia
Prezados amigos
Como copio um arquivo com hbnetio , antes eu usava copy file arquivo1.dbf to arquivo2.dbf
Grato
hbnetio
Enviado: 13 Mai 2021 12:58
por JoséQuintas
Se a diferença de hbnetio é o prefixo net:, suponho que seja
copy file net:arquivo1.dbf to net:arquivo2.dbf
Se isso não funcionar
use net:arquivo1
copy to net:arquivo2
use
hbnetio
Enviado: 06 Out 2022 11:42
por alisdava
Bom dia
Caro amigo
Como faço para instalar esse serviço no Servidor Linux
hbnetio
Enviado: 06 Out 2022 13:42
por Ana Mitoooo
Como criar e verificar pastas/diretórios usando hbnetio ?
obg