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

    Errore di violazione chiave esterna su transazioni

    Ciao a tutti!
    Ho questo problema, ho due tabelle la prima "Contratti" e la seconda "Codici" dove la tabella codici è relazionata con chiave esterna alla tabella Contratti mediante ID contratto. In un'operazione devo inserire un nuovo contratto ed inserire nella tabella Codici circa 200000 record. Per fare questo ho creato una TransactionScope perchè i 200000 codici da inserire provengono da un altro db.
    All'interno della TransactionScope c'è quindi il codice che inserisce il contratto e legge l'ID con SCOPE_IDENTITY, c'è il codice che recupera i 200000 codici dal db esterno e c'è poi il codice inserisce i 200000 codici nella tabella Codici.
    Ora succede questo, a circa 55000 codici inseriti nella tabella Codici la transazione va in errore con "violazione chiave esterna sul campo ID della tabella Contratti". Quindi è come se dopo 55000 record inseriti la transazione non mi riconoscesse più la precedente operazione di inserimento contratto che ha generato l'ID che sto usando per inserire i codici nella tabella Codici.
    Perchè accade questo?

    Grazie!!
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

  2. #2
    che db? che linguaggio? struttura delle tabelle? dai, dacci qualche info!

  3. #3
    Il db è un SQL Server 2008 R2 e l'applicazione è fatta in C#. La struttura delle tabelle in realtà è molto semplice.

    Tabella Contratti:
    ID autoincrementante
    Data
    Nome varchar

    Tabella Codici:
    ID autoincrementante
    IDContratto
    Codice varchar

    Le due tabelle sono relazionate con chiave esterna sul campo Contratti.ID > Codici.IDContratto
    Ultima modifica di voyager18; 16-03-2015 a 10:27
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

  4. #4
    IL PRECEDENTE POST NON E' DA PRENDERE IN CONSIDERAZIONE!!

    Il db è un SQL Server 2008 R2 e l'applicazione è fatta in C#. La struttura delle tabelle in realtà è molto semplice.

    Tabella Contratti:
    ID autoincrementante
    Data
    Nome varchar

    Tabella Codici:
    ID autoincrementante
    IDContratto
    Codice varchar

    Le due tabelle sono relazionate con chiave esterna sul campo Contratti.ID > Codici.IDContratto
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

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 © 2020 vBulletin Solutions, Inc. All rights reserved.