Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Suggerimenti... sincronizzazione applicativo on line

    Ciao a tutti, vorrei avere un suggerimento legato alla vostra esperienza.

    Contesto:
    Gestionale che genera un file di esportazione ogni giorno
    Applicativo on line (su SQL Server Express) installato su un server remoto
    Come posso copiare tali dati sul server remoto?

    Vorrei automatizzare questa procedura...

    Grazie

  2. #2
    intanto... auguri! automatizzare questo tipo di applicazioni è sempre un macello.

    provo a darti un primo sistema (anche se già me ne viene in mente un altro però un pò più complesso):

    1) il gestionale esporta i dati in un file
    2) prendi il file e lo trasferisci vai ftp (o come meglio credi) sul tuo server remoto
    3) lanci un browser web che punti su una pagina aspx creata da te (e ospitata sul server
    remoto) che si occupi della sincronizzazione tra il file di esportazione e il database sql.

    I punti 2 e 3 possono essere racchiusi in un piccolo exe che si occupi del trasferimento del file e poi di lanciare una pagina.

    Un modo un pò più complicato ma in teoria più "fico" è con i webservices
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille, due dubbi:

    come posso creare una procedura FTP automatica (esempio in un file BAT o script) da eseguire in windows o mettere nelle operazioni pianificate ... per trasferire il file

    una volta ricevuto il file, come posso fare in modo che venga caricato auomaticamente o ogni X tempo sul server dell'applicativo??

    Grazie

  4. #4
    Io risolverei tutto creando una micro applicazione in vb.net che si occupi
    dell'invio del file sul server remoto e del lancio della pagina in un browser integrato.

    Per inviare il file in vb.net 2005 puoi usare questa funzione
    codice:
    My.Computer.Network.UploadFile("percorsofile", "serverftpecartella", "username", "password")
    Per lanciare una pagina devi includere il browser che trovi nella toolbox di vb nella tua form
    e poi da codice:

    codice:
    webbrowser1.Navigate("indirizzodellatuapagina")
    Vedi te come gestire il lancio di questa applicazione (con un timer o con operazioni pianificate) ma poi, una volta partita, potrebbe pensare a tutto lei.
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Interessante... quindi dici

    sul PC con i dati sorgente viene lanciato l'exe all'occorrenza (o nelle operazioni pianificate) che legge il file di esportazione creato


    Mentre la seconda parte??

    Sul PC in cui ho il DB da "aggiornare" cosa dovrei fare?


    Grazie

  6. #6
    il secondo pc, per come la intendo io dovrebbe essere il web server su cui gira la tua applicazione. Su questo web server io prevederei una pagina (aspx o altro) che si occupi di prendere il file con i dati da aggiornare e li trasferisca sul database di destinazione.

    Praticamente su questa pagina metterei le routine di sincronizzazione che intendi usare per tenere il database di destinazione aggiornato.

    Farei gestire tutto al pc 1 che si occupa di prendere il file, mandarlo in ftp al web server. Una volta che il web server ha ricevuto il file, lancerei (sempre dall'applicativo che fa l'invio ftp) la pagina cosìcchè, una volta aggiornato il file, questa procedura aggiorni anche il database di destinazione.
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie per l'aiuto!

    Due dubbi:

    La procedura di aggiornamento come dovrei strutturarla?? Ipotizzando di avere un file txt, come potrei leggere tale file e copiarli... è possibile usare una stored procedure che legge il file, imposta i parametri delle colonne e trasferisce i dati in una specifica tabella?


    Codice PHP:
    Una volta che il web server ha ricevuto il filelancerei (sempre dall'applicativo che fa l'invio ftpla pagina cosìcchèuna volta aggiornato il filequesta procedura aggiorni anche il database di destinazione
    Come è possibile lanciare l'esecuzione della pagina remota tramite lo script ftp di trasferimento??? Quello che vorrei capire è come automatizzare il piu possibile tale operazione.

    Grazie ancora per l'aiuto e per la pazienza

  8. #8
    Non saprei, se hai la possibilità, per il trasferimento io ti consiglio di usare file dbf o magari ancora meglio xml così puoi leggerli senza problemi utilizzando ADO.NET e trattarli come tabelle di database. Una volta che hai i dati in un DataSet puoi spostarli senza troppe difficoltà in qualsiasi database vuoi.

    La procedura di sincronizzazione dovrebbe leggere questo file, mettere il contenuto in un dataset, a quel punto dovresti far un ciclo per scorrerti l'intero dataset e spostare i dati nella tabella di destinazione.

    Per poter lanciare automaticamente la pagina di sincronizzazione hai due possibilità, o metti un controllo browser nella tua applicazione e da quello lanci la pagina con il comando navigate che ti ho mostrato qualche post fa, oppure lanci explorer con una shell passando come parametro il percorso della tua pagina. Io opterei però per il browser nell'applicazione così eviti problemi.
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie... ora faccio alcune prove!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.