Does this mean that VOPRadius no longer
fully supports Rodopi? I get this error occasionally as well and I am not about
to modify my rodopi database and/or stock proceedures and potentially loose my
ability to obtain support from Rodopi.
Secondly, I upgraded a few days ago from
whatever the latest pre-v4.0 release was and I didn’t see this error in
my error logs until after I upgraded. This would indicate to me that VOPRadius
4.0 is now handling the accounting data differently.
Here is an example of the error when
calling Rodopi’s VircomDetails procedure and the data values it used.
(Error :00948) 12/1/2004
0:33:59 ODBC Error: State:22003, Msg:[Microsoft][ODBC SQL Server Driver][SQL
Server]Arithmetic overflow error converting numeric to data type int.
(Error :00948) 12/1/2004
0:33:59 SQL: {CALL Interface_VircomDetails('0000AF4F','2004-12-01
00:33:57','blackforest','209.131.224.130',40,'Framed-User','PPP','209.131.228.136',NULL,NULL,'Stop',0,120060717,2093965588,172800,1142011,1909001,'Session-Timeout','Virtual',0,NULL)}
I am running version 4.0 update 20
Brad Johnson
Systems Administrator
Local Link Network
Operations
From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Customer Support
Sent: Thursday, December 02, 2004
10:35 AM
To: [EMAIL PROTECTED]
Subject: [VOPRadius] KB Article:
Arithmetic overflow error converting _expression_ to data type int
|
Radius:
Arithmetic overflow error converting _expression_ to data type int
|
|
Problem
Summary:
|
Problem: The Event Viewer and VOP Radius
error log "VPRError.log" shows the following error:
VPR Radius Server Error: ODBC Error:
State:22003, Msg:[Microsoft][ODBC SQL Server Driver][SQL
Server]Arithmetic overflow error converting _expression_ to data type int.
|
|
Cause:
|
|
First, it is important to understand that
the source of the error is from the SQL Server / ODBC
Driver and VOP Radius is only reporting it in the logs. Second, this
error is most likely to happen only with accounting data since with
authentication only a SELECT statement is performed. Third, the error
means that there is a mismatch somewhere in one the fields between what
VOP Radius is sending, via an INSERT statement, and what the SQL Server
Table Field is set to support. For example, VOP Radius, via an INSERT
statement, may be sending an INT value, but the SQL Server Table
field accepting that field may be set to only accept TINY INT
values. Fourth, in this problem it is important to understand that
the data VOP Radius receives, and subsequently sends to the SQL Server
Table, is actually originally sent by the Network Access Server
(NAS). That is, the Network Access Server sends to VOP Radius the
accounting data, VOP Radius in turn takes this accounting data "as
is" and sends to the SQL Server Database Table configured under the
Accounting --> ODBC Setup section.
|
|
Resolution:
|
|
The difficulty with this error is
that it not does narrow down the exact field (or fields) where the
mismatch exists. For this reason, the administrator may need perform some
guess work to find the problem. Here are some recommended troubleshooting
steps:
1) Enable full log
tracking in VOP Radius
2) Find the error in the VOP Radius error log "VPRError.log"
3) Examine the query for values that stand out as "large"
4) Using the SQL Query determine the field name where these
"large" values are destined to be inserted
5) In the SQL Server Table look at the data type set for the field
6) Increase as necessary the data type size for the field
Note: The above troubleshooting steps take the viewpoint that what the
Network Access Server is sending is correct. It may also be the case that
a problem with the Network Access Server is causing it to send incorrect
and inflated values. In this case the administrator may take
troubleshooting steps focused on on the values that the Network Access
Server is sending rather than try to compensate for the problem by
changing the Data Type in the SQL Server Table field.
|
|
Related
Information:
|
|
|
|
http://207.96243.24/Kbase32/default.asp?id=1009