Errore di violazione chiave esterna su transazioni

venerdì 13 marzo 2015 - 21.52
Tag Elenco Tags  SQL Server 2008 R2

voyager18 Profilo | Junior Member

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!!

alx_81 Profilo | Guru

>Ciao a tutti!
ciao

>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?
Non è che, provenendo da un altro db, ti arrivino dei contratti che effettivamente non sono ancora stati inseriti?
Hai provato a verificare, prima dell'inserimento, se effettivamente il contratto esiste (anche solo a titolo di backup)?
hai tracciato per vedere cosa arriva?

>Grazie!!
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5