Storing in SQL, Procedure call

Jackie Lau Jackie at ingenio.com
Tue Jun 6 20:20:01 CEST 2006


I tried both suggestions and still no luck.  Any other suggestion on how
to get a Stored Procedure to work with FreeRadius, unixODBC/FreeTDS and
Microsoft SQL Server 2000?  For some reason when trying to call a Stored
Procedure rlm_sql module is trying to perform a query rather then the
procedure call.  Thanks! 

-----Original Message-----
From: Marko Dinic [mailto:marko at yu.net] 
Sent: Tuesday, June 06, 2006 4:16 AM
To: freeradius-users at lists.freeradius.org
Cc: Jackie Lau
Subject: Re: Storing in SQL, Procedure call


Im using the same setup for access to some ancient Sybase and it works
fine. However, the query doesn't use EXEC ... it's plain :

 accounting_stop_query     = "sp_my_stored_procedure_name
'%{SQL-User-Name}','%{Realm}', ...."

I did have problems with freetds 0.62.3, tho, so I installed 0.63 and
had no problems with Sybase access since then.

On the other hand, Oracle setup (using rlm_sql_oracle) with "EXEC
SP_NAME(...)"
didn't work either, so I had to change it to "BEGIN SP_NAME(...); END;"
Maybe that would work for your unixODBC/freetds setup too.

--
Best regards,

Marko Dinic, System Engineer
-----
YUnet International  http://www.eunet.yu
Dubrovacka 35/III,   11000 Belgrade
Tel: +381 11 311 9901;  Fax: + 381 11 311 9901
-----
This  e-mail  is confidential and intended only for the recipient.
Unauthorized  distribution,  modification  or  disclosure  of  its
contents is prohibited. If you have received this e-mail in error,
please notify the sender by telephone  +381 11 311 9901.
-----

> Hi,
>  
> I'm using freeradius with freetds and unixodbc.  I am having an issue 
> using a procedure call to insert to a Microsoft SQL Server.  When I 
> try to use the procedure call 'exec', I see the following errors:
>  
> radius_xlat:  'exec ***
> rlm_sql (sql): Reserving sql socket id: 8
> query:  exec ***
> rlm_sql_unixodbc: '00000 ' 
> rlm_sql (sql): Couldn't update SQL accounting ALIVE record - 00000
>  
> But if I don't use a procedure call and use an insert command in its
> place, it works just find.   
> 
> radius_xlat:  'INSERT ****
> rlm_sql (sql): Reserving sql socket id: 3 rlm_sql (sql): Released sql 
> socket id: 3
>   modcall[accounting]: module "sql" returns ok for request 6
>  
> My question is why can't I use a procedure call 'exec'?
>  
> Thanks!
>  
>  
> 
>     
> 





More information about the Freeradius-Users mailing list