2010-10-18 94 views
7

好吧,這是一個奇怪的問題。我有一個例行程序,可以刪除舊數據。香港專業教育學院有幾個人抱怨得到的錯誤:DELETE語句與REFERENCE約束條件衝突

System.Data.SqlClient.SqlException: The DELETE statement conflicted with 
the REFERENCE constraint 

看着我的代碼(使用L2S IM),我沒有看到這怎麼可能。但是好的,讓我們說出來。我要求客戶給我發送他們的數據庫,這樣我就可以調試一些,一個catch:當我把它連接到我的SQL服務器並運行例程時,我沒有任何錯誤。一切正常&按預期刪除。這是數據庫最初來自Win2008上的SQL 2008 Express實例,我將它連接到完整的SQL 2008實例。是否有任何會導致此類行爲的差異?

+1

你的客戶習慣於讓他們的'pro dba'添加觸發器,而不是你的模式?它發生在我身上,它讓我想吃我的鍵盤。 – Alex 2010-10-18 21:36:53

+0

@Alex,很有可能,但是當我將數據庫連接到服務器時,這些觸發器仍然存在嗎? – 2010-10-18 21:41:18

+0

嗯,也許你可以問他們是否向你發送了在他們的環境中運行的確切分貝 - 包括他們可能添加的任何'分機'。我也很好奇,如果這是嚴格的SQL問題或L2S ..此外,你可以嘗試在調試器中運行你的代碼,但連接到他們的數據庫? – Alex 2010-10-18 21:50:57

回答

1

獲取客戶端來抓取sql分析器日誌並檢查sql正在運行。將其與表中的數據進行比較以驗證約束條件。

相關問題