2015-02-24 50 views
0

我使用web.config來定義SQL Server連接。asp.net sql數據庫寫入增量零數據進入SQL種子

<connectionStrings> 
    <add name="ERPConnection" 
     connectionString="Data Source=HOSTSER\ERP;Initial Catalog=ERPMain;User ID=ERP;Password=Password5*;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

的web表單應用程序發佈到內部Web服務器,數據庫寫入完全去上一些PC的,但在一個特定的一個,寫增加種子到SQL Server數據庫,絕對沒有任何信息會並且不會返回任何錯誤消息,也不會返回成功通知。

然後立即在另一臺PC上,寫在那張完美和返回成功的通知,你可以看到在SQL Server中的種子居然跳過了擋板插件的數量...種子隨之如下:

25561 Purchase Thomas 
25563 Purchase Greg 

空白種子根本沒有顯示完成插入的數據,但是種子增加了。

這種情況發生在這臺PC上的多個瀏覽器上,是否有一些設置我在我的連接字符串在ASP或其他地方,我不知道可能會阻止這種情況發生?我正在捕捉每種類型的異常,並且根本沒有任何錯誤返回給我。

+2

[停止對'IDENTITY'進行假設](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/12/bad-habits-to-kick-expecting-identity-to-mean-something .aspx),不要擔心差距 - 它們真的不是**問題!如果你有一個回滾(一個被中止的事務),那麼可能有一些已經給出的身份值 - 然後不被使用。這些都丟失了 - **不再擔心它!**身份確實不會保證連續的數字沒有間隙 - 這是***不可能的***要做... – 2015-02-24 08:48:21

+0

這是正常的,當一個錯誤發生並且插入的記錄被回滾。你應該擔心的是錯誤信息發生了什麼。看起來你的代碼中有一些東西在捕捉異常並忽略它。 – Guffa 2015-02-24 08:54:43

+0

我並不擔心身份驗證種子,我擔心該應用程序無法使用,因爲該PC上的用戶無法更新其交易,因爲根本沒有任何信息發佈到SQL。沒有更新發生。 – Killua 2015-02-24 08:56:06

回答

0

我發現錯誤,它是在我的SQL寫入中,未封閉的引號,它僅在特定PC上被拾取,因爲人在南非荷蘭語中輸入數據,並且該語言包含許多撇號。所以我現在處理了他們,問題解決了。我也沒有以適當的方式捕捉我的異常,我從來沒有測試錯誤是否實際發佈到我的錯誤報告中。我首先解決了這個問題,然後我發現相應的錯誤。