Best practice per salvare i dati in diversi database usando C # ADO.NET

2

Mi piacerebbe sapere se voi avete qualche buona pratica quando si tratta di transazioni tra diversi fornitori di database.

Ad esempio, se hai un'applicazione C # che salva i dati dei clienti in due database (un Oracle e l'altro Microsoft), cosa faresti?

Useresti OleDbTransaction? È possibile?

    
posta Junior M 31.05.2011 - 19:43
fonte

2 risposte

1

Finché è possibile attivare MSDTC su tutti i client e i server coinvolti nella transazione, MSDTC funziona come per magia. È semplice come avvolgere tutte le chiamate in un transactionScope e impostare una condizione per transactionScope.Complete () da chiamare. Sicuramente esaminare i problemi di sicurezza / prestazioni che questo può causare in alcune circostanze. È generalmente sconsigliabile operare transazioni su Internet, poiché può aumentare il potenziale di attacchi, ma funziona bene su una rete intranet.

    
risposta data 31.05.2011 - 20:24
fonte
2

Credo che MSDTC sia in grado di supportare le transazioni tra diverse istanze di database. Esistono numerose risorse su come configurare correttamente MSDTC e su come stabilire correttamente una transazione per il tuo caso d'uso.

Un altro consiglio che ho quando si tratta di archiviare in diverse istanze di database del tutto per la stessa applicazione, potresti imbatterti in situazioni in cui potresti voler identificare univocamente un particolare record in un database piuttosto che un altro, specialmente se esistono tabelle in entrambe le istanze che hanno lo stesso schema. Puoi prendere in considerazione l'identificazione univoca dei record tramite UID.

link

    
risposta data 31.05.2011 - 20:13
fonte

Leggi altre domande sui tag