글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
SqlClient - Value was either too large or too small for an Int32.Couldn't store <2151292191> in ... Column
다음과 같은 오류가 발생할 수 있습니다.
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentException: Value was either too large or too small for an Int32.Couldn't store <2151292191> in AutoID Column. Expected type is Int32. ---> System.OverflowException: Value was either too large or too small for an Int32.
at System.Convert.ToInt32(Int64 value)
at System.Int64.System.IConvertible.ToInt32(IFormatProvider provider)
at System.Data.Common.Int32Storage.Set(Int32 record, Object value)
at System.Data.DataColumn.set_Item(Int32 record, Object value)
--- End of inner exception stack trace ---
at System.Data.DataColumn.set_Item(Int32 record, Object value)
at System.Data.DataTable.NewRecordFromArray(Object[] value)
at System.Data.DataTable.LoadDataRow(Object[] values, Boolean fAcceptChanges)
at System.Data.ProviderBase.SchemaMapping.LoadDataRow()
at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
...[생략]...
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.calltoasmxservice_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\8695b3e2\17ba0557\App_Web_ij4osmhy.38.cs:line 0
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
특정 DB 칼럼의 값이 (부호 있는) 정수의 범위를 넘어섰다는 것인데요. 문제의 원인은, 해당 칼럼을 처음에는 4바이트 정수로 했다가 자동 증가 칼럼으로 바꾸면서 8바이트 long 형으로 데이터베이스 측에서 변경을 한 것입니다. 그런데, 응용 프로그램 쪽은 그냥 int로 사용하면서 잘 쓰던 중에 어느 날 자동 증가 칼럼의 값이 4바이트를 넘어서면서부터 저런 문제가 발생하게 된 것입니다.
따라서 응용 프로그램 측도 int가 아닌 long형으로 바꾸면 해결됩니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]
... 196 [197]
... 196 [197]