Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C#] Database Remoto

    Ciao,

    Avrei bisogno di alcuni consigli per la realizzazione di un software...

    E' un software gestionale, che sarà eseguito in due uffici distanti diversi km, entrambi si collegheranno al medesimo database, uno sarà quindi in locale, l'altro in remoto...


    Il problema è questo, se una delle due linee cade, l'ufficio che sarà collegato in remoto non potrà accedere al database, c'è qualche modo per ovviare a questo?

    Ad esempio avere un mirror del database da utilizzare in caso di emergenza per poter leggere i dati, ed inserirli (con determinati valori, in modo da non avere duplicati una volta che andiamo a riunire il database quando la connessione verrà ristabilità)


    Naturalmente per la connessione avrei pensato di utilizzare una VPN, facendo girare il database su windows server 2003...



    Qualche consiglio, per poter gestire questa eventualità?



    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da SkOrPiOn`87
    Il problema è questo, se una delle due linee cade, l'ufficio che sarà collegato in remoto non potrà accedere al database, c'è qualche modo per ovviare a questo?
    Dato che hai parlato di VPN, questo significa che l'accesso al database tramite collegamento "remoto" e il collegamento locale avvengono nello stesso modo (salvo la differenza che possiamo considerare trasparente, per il software, dell'uso della VPN), quindi la caduta della linea ha lo stesso effetto dell'improvviso scollegamento di un cavo di rete nella Intranet.

    Per ovviare a questo problema, in entrambi i casi, devi semplicemente evitare di collegarti al database, salvo quando è strettamente necessario, cioè per il reperimento dei dati da modificare e la loro modifica, l'inserimento o la cancellazione.

    Il DataSet e l'accesso ai dati in modalità disconnessa parrebbe essere la soluzione più efficace.

    In alternativa, occorre dotare i client esterni di un software specifico, ritagliato secondo le proprie misure, che effettui un salvataggio in locale dei dati e provveda, ad intervalli regolari e/o pianificati, a spedire i dati allo "storage centrale".

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Originariamente inviato da alka

    In alternativa, occorre dotare i client esterni di un software specifico, ritagliato secondo le proprie misure, che effettui un salvataggio in locale dei dati e provveda, ad intervalli regolari e/o pianificati, a spedire i dati allo "storage centrale".
    Ciao!

    Penso di utilizzare questa soluzione, potrei utilizzare un'altro MSSQL 2005 express per salvare i dati e poi inviarli nel database principale...

    Ho solo un problema, come faccio ad evitare i duplicati di chiave? Avendo in alcuni campi un ID increment, c'è il rischio di avere gli stessi ID quando passo tutto nel database principale...

    Una buona soluzione può essere quella di aggiungere una colonna smallint con un NUMERO, che indica in quale sede è stato inserito l'ID in modo da evitare duplicati ed estendere la chiave primaria sia all' ID, che al NUMERO?


    Grazie

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.