Glad you found this useful. Yes this simple example of selecting counts and setting variables does not allow for proper error handling.
You would have to add code in the test to handle output from SQL/Plus that you do not expect before doing the eval.. Given the output from calling a procedure that does not exist:
you could test for the first word of the output being = "BEGIN" and if so, write the remaining lines until "DONE" to an error file and exit. Or test if the output does not start with what you are expecting and log the remaining lines and exit. At any rate put the common error handling code in a function so it can be reused.
I have updated the code and added an example of catching an error. Note the addition of set -f output which tells the shell not to do filename expansion on it (that is why you got the list of filenames).
Hi
I want to get the a field from a SQL query into unix shell script variable. the whole situation is like this.
1. Opened a cursor to a table in DB2 databse.
2. Fetching individual rows with the help of cursor.
3. Each row has 4 fields.
I want each of the field in individual shell... (1 Reply)
Hi All,
I needed to get the result of two sqlplus queris into shell variables.
After days of looking for the ultimate solution to this problem.. i found this...
sqlplus -s USER/PASS@DB <<EOF | awk '{if(NR==1) printf("%s ", $1); if(NR==2) printf("%s ",
$1);}' | read VAR1 VAR2
set head off... (2 Replies)
Hi
I would like to know if there is a way to just have one ORACLE connection established, using which we can execute different queries and store the results under different variables.
For e.g the following uses to two silent ORACLE connection to store the result under two different... (4 Replies)
Hi ,
I used the below script to get the sql data into csv file using unix scripting.
I m getting the output into an output file but the output file is not displayed in a separe columns .
#!/bin/ksh
export FILE_PATH=/maav/home/xyz/abc/
rm $FILE_PATH/sample.csv
sqlplus -s... (2 Replies)
I want to store the sql query output into a variable
#!/bin/ksh
ORACLE_SID=DB01;
export ORACLE_SID;
export FILE_PATH=/home/asg/Tmp
# Order Checking
echo " removing old files "
rm $FILE_PATH/Malformed_Order.txt
echo " Enter the Malformed Order ....!"
read orders
echo "Regrade... (5 Replies)
Hello,
I am very new to shell scripting and I am not sure of how best to handle the following scenario. I need to query a list of values from a table. I need to store those results and use them to selectively delete values in yet another table in a separate database. I do know how to store the... (3 Replies)
Hi,
I have a script where I make a sqlplus connection. In the script I have multiple sql queries within that sqlplus connection. I want the result of the queries to be stored in shell variables declared earlier. I dont want to use procedures. Is there anyway else.
Thanks in advance..
Cheers (6 Replies)
Hi,
I am new to linux...
How to Assign SQL Query Results to Variables in Linux,i want ti generate it in param files, Can anyone please explain me.
Ex: SQL> Select * from EMP;
O/P: Emp_No Emp_Name
1 AAA
2 BBB
3 CCC
and I want expected... (5 Replies)
Hi,
I have connected to oracle database with sqlplus -s / <<EOF
select ename, age from emp where empid=1234;
EOF
I want to save the values of ename and age in unix shell variables. Any pointers would be welcome..
Thanks in advance!!1
Cheers :):):):) (1 Reply)
Requirement 1) I need to execute 15 SQL queries in oracle through linux script. All these query results needs to be stored in array variables.
Requirement 2) And these 15 queries needs to be executed in parallel.
Requirement 3) Once all the queries executed then the shell script should... (3 Replies)
Discussion started by: Niranjancse
3 Replies
LEARN ABOUT DEBIAN
rlm_sql_log
rlm_sql_log(5) FreeRADIUS Module rlm_sql_log(5)NAME
rlm_sql_log - FreeRADIUS Module
DESCRIPTION
The rlm_sql_log module appends the SQL queries in a log file which is read later by the scripts/radsqlrelay Perl program.
The purpose of this module is to de-couple the storage of long-term accounting data in SQL from "live" information needed by the RADIUS
server as it's running. If you are not using SQL for simultaneous login restrictions (i.e. "sql" is not listed in the "session" section of
"radiusd.conf"), then this module allows you to log SQL queries to a file, and then process them at your leisure.
The benefit of this approach is that for a busy server, the overhead of performing SQL qeuries may be significant. Also, if the SQL data-
bases are large (as is typical for ones storing months of data), the INSERTs and UPDATEs may take a relatively long time. Rather than
slowing down the RADIUS server by having it interact with a database, you can just log the queries to a file, and then run those queries on
another machine, or at a time when the RADIUS server is typically lightly loaded.
If the "sql" module is listed in the "session" section of "radiusd.conf", then a similar system can still be used. In that case, one data-
base would be used to maintain "live" session information. That database would be small, fast, and information would be deleted from it
when a user logs out. A second database would store long-term accounting information, as described above.
LIMITATIONS
This module only performs the dynamic expansion of the variables found in the SQL statements. No operation is executed on the database
server. (this would be done later by an external program) That means the module is useful only with non-"SELECT" statements.
CONFIGURATION
The main configuration items to be aware of are the path of the log file and the different SQL queries.
path An entry named "path" sets the full path of the file where the SQL queries are recorded. (this variable is run through dynamic
string expansion, and can include FreeRADIUS variables to create a dynamic filename)
Accounting queries
When a accounting record is processed, the module searches a config entry keyed by the Acct-Status-Type attribute present in the
packet. For example, the SQL to be run on an accounting start must be named "Start" in the configuration for the module. Other usual
values for Acct-Status-Type are "Stop", "Alive", "Accounting-On", etc. See the VALUEs for Acct-Status-Type in the dictio-
nary.rfc2866 file.
Post-Auth query
An entry named "Post-Auth" sets the query to run during the post-authentication stage. This query is mainly used to log sessions
where there may not be a later accounting packet.
modules {
...
sql_log {
path = "${radacctdir}/sql-relay"
acct_table = "radacct"
postauth_table = "radpostauth"
sql_user_name = "%{%{User-Name}:-DEFAULT}"
Start = "INSERT INTO ${acct_table} ..."
Stop = "UPDATE ${acct_table} SET ..."
Alive = "UPDATE ${acct_table} SET ..."
Post-Auth = "INSERT INTO ${postauth_table} ..."
}
...
}
accounting {
...
sql_log
...
}
post-auth {
...
sql_log
...
}
SECTIONS
accounting, post-auth
FILES
/etc/raddb/radiusd.conf
SEE ALSO radsqlrelay(8), radiusd(8), radiusd.conf(5)AUTHOR
Nicolas Baradakis <nicolas.baradakis@cegetel.net>
28 May 2005 rlm_sql_log(5)