KB Issue
When trying to input a value larger than the data type assigned, it will give you the Out of present range error.
Issue Details
You may receive this error when the data you are trying to input into your database is much larger than the column you are sending it to.
The reason is that the INT
Copy
Search Site
Search Google
Data Type
Copy
Search Site
Search Google
only allows for 2 billion.
2,147,483,648 to 2,147,483,647
To where BIGINT
Copy
Search Site
Search Google
will allow you up to nine quintillions
9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
The value presented to the statement is 27 billion, which is too large for our INT Column.
Recreate Issue
SQL Server Column
[Data Type] = INT
Copy
Search Site
Search Google

[Value] = 27532622025
Copy
Search Site
Search Google
[Classic ASP - SQL Parameters with INT]
CFFCS | CarrzSynEdit: | ASP/VBScript
Set sqlHit = CreateObject("ADODB.Command")
sqlHit.ActiveConnection=siteconn
sqlHit.commandtext="insert into Hits (MyCol, UserIP, Hash, URL) values (?,?,?,?)"
sqlHit.Parameters.Append sqlHit.CreateParameter("@MyCol", 3, 1, , getIt)
sqlHit.Parameters.Append sqlHit.CreateParameter("@UserIP", 200, 1, 50, getIP)
sqlHit.Parameters.Append sqlHit.CreateParameter("@hash", 200, 1, 150, getHash)
sqlHit.Parameters.Append sqlHit.CreateParameter("@URL", 200, 1, 150, getURL)
sqlHit.execute

or
[Classic ASP - SQL Parameters]
CFFCS | CarrzSynEdit: | ASP/VBScript
Set sqlHit = CreateObject("ADODB.Command")
sqlHit.ActiveConnection=siteconn
sqlHit.commandtext="insert into Hits (MyCol, UserIP, Hash, URL) values (?,?,?,?)"
sqlHit.Parameters.Append sqlHit.CreateParameter("@MyCol", adInteger, adParamInput, , getIt)
sqlHit.Parameters.Append sqlHit.CreateParameter("@UserIP", adVarchar, adParamInput, 50, getIP)
sqlHit.Parameters.Append sqlHit.CreateParameter("@hash", adVarchar, adParamInput, 150, getHash)
sqlHit.Parameters.Append sqlHit.CreateParameter("@URL", adVarchar, adParamInput, 150, getURL)
sqlHit.execute

Resolve Issue
SQL Server Column
[Data Type] = BIGINT
Copy
Search Site
Search Google

[Value] = 27532622025
Copy
Search Site
Search Google

Changing our Data Type in our SQL Server Table from INT to BIGINT and then updating our code to match the change will allow us to input larger numbers.
[Classic ASP - SQL Parameters]
CFFCS | CarrzSynEdit: | ASP/VBScript
Set sqlHit = CreateObject("ADODB.Command")
sqlHit.ActiveConnection=siteconn
sqlHit.commandtext="insert into Hits (MyCol, UserIP, Hash, URL) values (?,?,?,?)"
sqlHit.Parameters.Append sqlHit.CreateParameter("@MyCol", 20, 1, , getIt)
sqlHit.Parameters.Append sqlHit.CreateParameter("@UserIP", 200, 1, 50, getIP)
sqlHit.Parameters.Append sqlHit.CreateParameter("@hash", 200, 1, 150, getHash)
sqlHit.Parameters.Append sqlHit.CreateParameter("@URL", 200, 1, 150, getURL)
sqlHit.execute

or
[Classic ASP - SQL Parameters]
CFFCS | CarrzSynEdit: | ASP/VBScript
Set sqlHit = CreateObject("ADODB.Command")
sqlHit.ActiveConnection=siteconn
sqlHit.commandtext="insert into Hits (MyCol, UserIP, Hash, URL) values (?,?,?,?)"
sqlHit.Parameters.Append sqlHit.CreateParameter("@MyCol", adBigInt, adParamInput, , getIt)
sqlHit.Parameters.Append sqlHit.CreateParameter("@UserIP", adVarchar, adParamInput, 50, getIP)
sqlHit.Parameters.Append sqlHit.CreateParameter("@hash", adVarchar, adParamInput, 150, getHash)
sqlHit.Parameters.Append sqlHit.CreateParameter("@URL", adVarchar, adParamInput, 150, getURL)
sqlHit.execute