Accounting issues in Oracle solved
- To: "FreeRadius users mailing list" <freeradius-users@lists.freeradius.org>
- Subject: Accounting issues in Oracle solved
- From: "Guilherme Franco" <guilhermefranco@gmail.com>
- Date: Wed, 27 Sep 2006 08:18:04 -0300
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=jwgP3GF1sQkfnnZHSOgqKBMt5z9c2raEkFnjt/BNw+Z7noaQ6vqF3gOrZKcKvyKCoRKL2En9tk5Y6Rcw+4pey5q+tiLb5WoA/euzEY05+lkCF8+DLWF2LOKcbgQMEZlgsc61sYZ5hAv9wYPrSJKgUL6qQawmtNDmo9+8OGo5Y9o=
- Reply-to: FreeRadius users mailing list <freeradius-users@lists.freeradius.org>
Hello,
I had to modify oracle-dialup.conf to make accounting on/off to work.
In AcctSessionTime, the original query would generate "expected
NUMBER, got INTERVAL" error.
Here is the original:
accounting_onoff_query = "UPDATE ${acct_table1} SET
AcctStopTime=TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'),
AcctSessionTime=((TO_DATE('%S','yyyy-mm-dd hh24:mi:ss') -
AcctStartTime)*86400), AcctTerminateCause='%{Acct-Terminate-Cause}',
AcctStopDelay = %{Acct-Delay-Time:-0} WHERE AcctSessionTime=0 AND
AcctStopTime IS NULL AND NASIPAddress = '%{NAS-IP-Address}' AND
AcctStartTime <= TO_DATE('%S','yyyy-mm-dd hh24:mi:ss')"
So I modified it to:
accounting_onoff_query = "UPDATE ${acct_table1} SET
AcctStopTime=TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'),
AcctSessionTime=(to_number(TO_DATE('%S','yyyy-mm-dd hh24:mi:ss') -
cast(AcctStartTime as date))*86400),
AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay =
%{Acct-Delay-Time:-0} WHERE AcctSessionTime=0 AND AcctStopTime IS NULL
AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStartTime <=
TO_DATE('%S','yyyy-mm-dd hh24:mi:ss')"
And it works great now.
This archive was generated by a fusion of
Pipermail (Mailman edition) and
MHonArc.