當通過vb代碼運行時,發生將IDENTITY轉換爲數據類型int的算術溢出錯誤。但是當我執行存儲過程時,數據被正確插入。將IDENTITY轉換爲數據類型的算術溢出錯誤int
通過應用程序有時也有效,有時它不會。
當我檢查當前標識值和當前列值是不同的。這是否屬於問題。
請讓我知道如何解決它。
當通過vb代碼運行時,發生將IDENTITY轉換爲數據類型int的算術溢出錯誤。但是當我執行存儲過程時,數據被正確插入。將IDENTITY轉換爲數據類型的算術溢出錯誤int
通過應用程序有時也有效,有時它不會。
當我檢查當前標識值和當前列值是不同的。這是否屬於問題。
請讓我知道如何解決它。
2147483647
是INT
的最大尺寸,因此您的IDENTITY
大於此值。如果您的IDENTITY
不會超過9223372036854775807
,您可以使用BIGINT
來解決您的錯誤。
它沒有穿過最大INT值。數據來自MQ ..我經過一段時間的數據處理後停止了MQ連接。在它達到0.我再次連接它顯示相同的錯誤。我注意到當前列值和當前身份值是不同的,有些時候這兩個變得相同。我假設當兩者都相同時流程正在發生。 –
你正在使用哪個版本的VB?你使用變量類型'long'來返回返回值嗎?在VB 6和int之前,值是非常有限的,在.net中它仍然被限制爲只包含大約10位數字。
我會確保你使用的是「長」在VB
像其他人說,你的列是更大比類型的range allowed大。
您可以像其他人所說的那樣使用DBCC CHECKIDENT('dbo.TableName',reseed,0)
來種子,但如果您嘗試to reuse a value that has already been used,則可能導致錯誤。
假設該列是一個自動增量標識列,並且行計數低於數據類型範圍,則可以重新插入所有值。
這將取決於在你的限制之下,可能比它值得的更困難。
請粘貼確切的錯誤消息和一些示例表架構 – TheGameiswar
那麼是IDENTITY和int?檢查表格定義。顯示你的VB代碼。 – Paparazzi