none
Sistema local, mas depois irá para internet RRS feed

  • Pergunta

  • Olá pessoal, tento uma dúvida e queria saber se é possível.

    Se eu criar um sistema local mesmo, OFF, com banco de dados Access rodando com ASP localhost... tem como fazer o seguinte:

    A pessoa cadastra as suas informações nesse sistema local, pois ele está em uma região sem internet por dias... Aí ele volta para cidade onde tem internet, para poupar de digitar essas informações de novo... tem como ele mandar as informações do sistema local para o mesmo sistema que está na internet como se fosse um site?

    Se sim, como fazer isso?

    Obrigado!

    Marcelo

    terça-feira, 2 de dezembro de 2008 01:27

Respostas

  • Já passei por esse tipo de situacao, trabalhei em um local que tinhamos uma intranet, no tempo era access e asp, com o tempo nos solicitaram que as pessoas em campo pudessem levar esta base e continuar com o cadastro, tivemos muita dificuldade para convencer que isso seria um problema serio a se avaliar, que o melhor seria fazermos um sistema novo com sql e asp, mas nao queriam saber, queria seguir em frente, entao pegamos o banco em access e criamos um novo com a opcao de replicacao, onde o replicado seria ESCRAVO e esse seria o movel.

    putz, pensamos que isso estava muito bem feito, assim fariamos a mesma aplicacao na estacao do usuario, iis e tal.

    segundo dia veio a merda, ao mudar para replicacao as chaves em ID (numeracao automatica) ficaram em gerencia do access, ele quem montava o proprio numero, e ai nao tinhamos mais como fazer pesquisa pelo numero que informavamos como protocolo ao atendido.

    la fomos nós voltar backup e pensar como fazer, resolvemos entao criar um novo campo como chave primaria e esse sim seria gerenciado pelo access, assim manteriamos o numero dos protocolos e os novos seriam gravados como numeracao sequenciada com ON no final e codigo do atendente
    01234567012ON

    os protocolos que eram criados em campo ganhavam um OFF no fim e um codigo de 3 digitos do atendente, tipo 01234567012OFF

    beleza, que nada

    nao sabiamos que para replicar o banco, ele ficaria off line para todos, pois todas as vezes que fizemos teste era em ambiente de desenvolvimento.

    solucao: fazer toda a replicacao via XMLHttpRequest, mantendo 01234567012 (ON/OFF) e sem a numeracao de replicacao gerada pelo access, resolveu por uns 5 meses

    depois comecou a dar problema no access pela quantidade de registro, migramos ele de 97 para xp o que deu tempo para construirmos uma aplicacao em MSSQL/ASP (Intranet) e ACCESS/VB6

    Hoje, depois de 6 anos, pelo o que sei ainda usam da mesma forma, atualmente como passaram para plataforma de software livre estao desenvolvendo a intranet em Java e MySQL, quanto ao atendente VPN.

    Entao meu brother, nenhum de nós que trabalhou no projeto tem formacao alguma em desenvolvimento, a propria internet quem nos ensinou, um problema muito sério, porque até hoje passo vergonha quando alguem fala uma palavra, termo ou qualquer coisa que nao tenho ideia que seja até ir pra parte manual, dae onde vem a o pensamento: é isso que ele queria dizer.

    Um dia ainda terei a oportunidade de me formar, ser no mínimo um MCP. Hoje to sofrendo por uma frase: Esquece tudo que sabia de ASP se não cada dia mais vai ter dificuldade com .NET

    Mas voltando pro foco, tenha certeza de que o que tu vai fazer ficará legal, se nao vai sofrer o que a gente sofreu, e a pressao de demissao é uma das piores coisas, principalmente aquela que diz, voce precisa fazer, precisa fazer, precisa fazer e teu chefe nao entende que as vezes nao depende de voce, que tem prazos, ferramentas, conhecimentos...

    Boa sorte!

    SE A INFORMAÇÃO TE AJUDOU, FAVOR MARCAR
    SE A INFORMAÇÃO TE SOLUCIONOU O PROBLEMA, FAVOR MARCAR O POST COMO RESOLVIDO

    Tiago Borges
    http://www.tiagoborges.net/
    terça-feira, 30 de dezembro de 2008 20:48

Todas as Respostas

  • Marcelo,

    nesse caso, sugiro desenvolver uma aplicação desktop que permita trabalhar off-line e depois faça a sincronização. Se for uma aplicação web, a máquina/note do cliente teria que ter o IIS, o que não faz muito sentido...

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    terça-feira, 2 de dezembro de 2008 10:36
    Moderador
  • O sistema local já roda tranquilo... pode ser feito.

     

    Será no sistema local em um camputador rodando como se fosse um site of, um site interno, localhost... só foi feito aí um IIS e pronto o sistema roda local tranquilo. Normal isso.

     

    Mas como fazer o banco desse sistema, que talvez será em Access, poder ir para internet alimentando um sistema igual, mas online? Entendeu?

     

    É preciso que o sistema cadastrado off, no localhost, IIS do computador, possa depois alimentar um sistema na internet também como a mesma estrutura. Será o mesmo sistema, um offline e outro online.

     

    Me falaram de um FSO com Access...

     

    ??

    terça-feira, 2 de dezembro de 2008 22:50
  • Ninguém sabe uma solução para isso?

    quarta-feira, 3 de dezembro de 2008 15:21
  • Marcelo, o que quiseram dizer para você sobre FSO (File System Object) é que você pode copiar o banco de dados access por inteiro para a aplicação online, assim quando você quiser atualizar os dados, você exclui o banco online e copia o banco offline.
    Tenho certeza que com SQL Server você conseguiria algo melhor, mas o custo seria alto, pois teria que manter o server sql local e na internet, então creio que o melhor seja com Access.

    Obs. Não conheço muito bem outras fontes de dados como MySQL, Firebird, etc.. então não sei se poderiam lhe atender neste quesito, talvez você queira pesquisar.

    Abraço

    Estevam
    quarta-feira, 3 de dezembro de 2008 16:17
  • Então: A solução é com Access usando FSO mesmo ou senão o SQL Sever... não tem outro jeito com o Access mesmo?

     

    Algo que faça insert aqui e outro ali?

     

    Pensava assim....

     

    if conexao locao then

    <!--include=conexaoaccess.asp-->

    else

    <!--include=conexaoaccess.asp-->

    end if

    E abaixo fazer um select do banco local e um insert para o banco na internet... não tem como fazer com Acces não é?

    quarta-feira, 3 de dezembro de 2008 16:54
  •  Marcelo Marvi wrote:

    Então: A solução é com Access usando FSO mesmo ou senão o SQL Sever... não tem outro jeito com o Access mesmo?

     

    Olá Marcelo,

     

    O que você pode fazer, é criar um WebService hospedado junto com a base de dados na Internet. A partir do sistema local, você acessa o WebService que por sua vez insere o registro no banco de dados.

     

    No entanto, se esse sistema ainda não existir (se você estiver começando a desenvolver nesse instante), recomendo fortemente que esqueça o ASP, e desenvolva o sistema em ASP .NET.

     

    Não vale à pena fazer novos desenvolvimentos em uma linguagem tão antiga... É jogar dinheiro no lixo Wink.

     

    Por fim, sobre a base de dados, se você utilizar ASP .NET, pode também utilizar o SQL Server Express (que é gratuíto) na máquina local, e que é muito superior ao Access em todos os sentidos.

     

    Hoje em dia não já faz sentido utilizar Access como banco de dados, quando temos opções tão melhores (e gratuitas) como SQL Server Express, Oracle Express, MySQL, entre outros.

     

    Abraços,
    Caio Proiete

    quarta-feira, 3 de dezembro de 2008 17:00
  • Mas como disse, não posso fazer nada webservice... pois ele terá região que não terá internet para rodar no notebook... então ele irá cadastrar as informações e depois quando tiver internet colocaria no ar...entendeu?
    quarta-feira, 3 de dezembro de 2008 17:04
  •  Marcelo Marvi wrote:
    Mas como disse, não posso fazer nada webservice... pois ele terá região que não terá internet para rodar no notebook... então ele irá cadastrar as informações e depois quando tiver internet colocaria no ar...entendeu?

     

    Olá Marcelo,

     

    Entendi perfeitamente. O WebService servirá para sincronizar as informações. Você criaria uma página separada com um botão para chamar o WebService (ou até mesmo uma aplicação Windows), quando o usuário estiver conectado e desejar sincronizar as informações.

     

    De qualquer forma, como disse o Ricardo Oneda acima, esse é um cenário típico de uma aplicação SmartClient... Você deveria reavaliar muito bem se vale a pena desenvolver a aplicação local baseada em Web, instalar IIS e tudo o mais no notebook.

     

    Abraços,

    Caio Proiete

    quarta-feira, 3 de dezembro de 2008 17:13
  • Pelo que percebi o que o Marcelo esta querendo é ter uma única base de desenvolvimento (um único sistema), no caso feito com ASP, e manter duas bases de dados, o sistema será mais utilizada pela internet, mas o cliente irá para locais que não há internet, então não tem muito o que fazer utilizando estes recursos, na minha opinião o jeito é deixar a base mais atualizada na web e se o cliente precisar de uma base atualizada na máquina você copia o banco da web, mas como observação, leve em consideração que o banco irá crescer e quanto maior, mas tempo irá levar para fazer o download do banco, o que pode se tornar inviável num futuro, contudo creio que seja melhor pesquisar outras fontes de dados gratuitas, que possam fazer um tipo de DTS entre os bancos.

    Abraço

    Estevam
    quarta-feira, 3 de dezembro de 2008 18:03
  • Mais uma idéia seria trabalhar com XML, e quando o sistema estiver online você cria um botão que irá atualizar o banco através dos XML, dá mais trabalho mas também é possível.

    Abraço

    Estevam
    quarta-feira, 3 de dezembro de 2008 18:05
  • Estevam,

     

    Se o cliente conseguir que o sistema na internet use o SQL Server, posso usar na maquina dele um SQL Server Express? Já que o SQL Server Express é gratuito e é da Microsof daria para fazer algo entre eles (SQL Server x SQL Server Express)?

     

    Ou melhor colocar um SQL Server Express local e um SQL Server Express na internet e fazer a interação entre eles? Seria melhor que com o Access não é...

    quarta-feira, 3 de dezembro de 2008 20:23
  • Marcelo, não sou especialista em banco de dados, então não posso lhe dar certeza, mas pelo que sei a partir da versão 2005 o DTS não existe mais e sim o "SSIS", porém pelo que sei também, o SQL Express só vem com a parte de execução desta ferramenta, ou seja, para você "criar" você terã que ter uma versão maior do que o SQL Express.

    Talvez até o Caio ou Oneda possam lhe falar melhor sobre isso.

    Abraço

    Estevam
    quinta-feira, 4 de dezembro de 2008 10:57
  • Ok, obrigado!

    sexta-feira, 5 de dezembro de 2008 03:30
  • Já passei por esse tipo de situacao, trabalhei em um local que tinhamos uma intranet, no tempo era access e asp, com o tempo nos solicitaram que as pessoas em campo pudessem levar esta base e continuar com o cadastro, tivemos muita dificuldade para convencer que isso seria um problema serio a se avaliar, que o melhor seria fazermos um sistema novo com sql e asp, mas nao queriam saber, queria seguir em frente, entao pegamos o banco em access e criamos um novo com a opcao de replicacao, onde o replicado seria ESCRAVO e esse seria o movel.

    putz, pensamos que isso estava muito bem feito, assim fariamos a mesma aplicacao na estacao do usuario, iis e tal.

    segundo dia veio a merda, ao mudar para replicacao as chaves em ID (numeracao automatica) ficaram em gerencia do access, ele quem montava o proprio numero, e ai nao tinhamos mais como fazer pesquisa pelo numero que informavamos como protocolo ao atendido.

    la fomos nós voltar backup e pensar como fazer, resolvemos entao criar um novo campo como chave primaria e esse sim seria gerenciado pelo access, assim manteriamos o numero dos protocolos e os novos seriam gravados como numeracao sequenciada com ON no final e codigo do atendente
    01234567012ON

    os protocolos que eram criados em campo ganhavam um OFF no fim e um codigo de 3 digitos do atendente, tipo 01234567012OFF

    beleza, que nada

    nao sabiamos que para replicar o banco, ele ficaria off line para todos, pois todas as vezes que fizemos teste era em ambiente de desenvolvimento.

    solucao: fazer toda a replicacao via XMLHttpRequest, mantendo 01234567012 (ON/OFF) e sem a numeracao de replicacao gerada pelo access, resolveu por uns 5 meses

    depois comecou a dar problema no access pela quantidade de registro, migramos ele de 97 para xp o que deu tempo para construirmos uma aplicacao em MSSQL/ASP (Intranet) e ACCESS/VB6

    Hoje, depois de 6 anos, pelo o que sei ainda usam da mesma forma, atualmente como passaram para plataforma de software livre estao desenvolvendo a intranet em Java e MySQL, quanto ao atendente VPN.

    Entao meu brother, nenhum de nós que trabalhou no projeto tem formacao alguma em desenvolvimento, a propria internet quem nos ensinou, um problema muito sério, porque até hoje passo vergonha quando alguem fala uma palavra, termo ou qualquer coisa que nao tenho ideia que seja até ir pra parte manual, dae onde vem a o pensamento: é isso que ele queria dizer.

    Um dia ainda terei a oportunidade de me formar, ser no mínimo um MCP. Hoje to sofrendo por uma frase: Esquece tudo que sabia de ASP se não cada dia mais vai ter dificuldade com .NET

    Mas voltando pro foco, tenha certeza de que o que tu vai fazer ficará legal, se nao vai sofrer o que a gente sofreu, e a pressao de demissao é uma das piores coisas, principalmente aquela que diz, voce precisa fazer, precisa fazer, precisa fazer e teu chefe nao entende que as vezes nao depende de voce, que tem prazos, ferramentas, conhecimentos...

    Boa sorte!

    SE A INFORMAÇÃO TE AJUDOU, FAVOR MARCAR
    SE A INFORMAÇÃO TE SOLUCIONOU O PROBLEMA, FAVOR MARCAR O POST COMO RESOLVIDO

    Tiago Borges
    http://www.tiagoborges.net/
    terça-feira, 30 de dezembro de 2008 20:48