Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Errore di violazione chiave esterna su transazioni
venerdì 13 marzo 2015 - 21.52
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
voyager18
Profilo
| Junior Member
67
messaggi | Data Invio:
ven 13 mar 2015 - 21:52
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
8.814
messaggi | Data Invio:
mar 31 mar 2015 - 11:52
>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
Torna su
Stanze Forum
Elenco Threads
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 !