Database operations with SQL and Korn shell
The following Korn shell function will read the a directory containing CSV data files named server_sysstat.20051119.csv with format:
server_2,7,1461,2,2195979,90,00:00:17,42
server_2,6,1467,2,2200018,85,00:02:18,42
server_2,6,1462,2,2198306,89,00:04:20,42
The function will read each file line by line and do either an insert to or an update of the database table. It is important to remember that, if your source data contains single quotes (apostrophes), you will need to preceed all single quotes with the backward slash (use three slashes “\” with KSH).
For example:
country=$(echo "$LINE" | awk -F'@' '{print $2}' | sed "s+'+\'+g")
And here’s the script:
SQL_Diskmon_Sysstat_Func() { ls "$INPUTDIR3" | sort | fgrep "_sysstat." | while read REPORT do year=$(echo "$REPORT" | awk -F'.' '{print $2}' | cut -c 1-4) month=$(echo "$REPORT" | awk -F'.' '{print $2}' | cut -c 5-6) day=$(echo "$REPORT" | awk -F'.' '{print $2}' | cut -c 7-8) DATE=$(echo "${year}-${month}-${day}") cat "${INPUTDIR3}/${REPORT}" | while read LINE do STORAGE_UNIT=$(echo "$LINE" | awk -F',' '{print $1}') VAR2=$(echo "$LINE" | awk -F',' '{print $2}') VAR3=$(echo "$LINE" | awk -F',' '{print $3}') VAR4=$(echo "$LINE" | awk -F',' '{print $4}') VAR5=$(echo "$LINE" | awk -F',' '{print $5}') VAR6=$(echo "$LINE" | awk -F',' '{print $6}') TIME=$(echo "$LINE" | awk -F',' '{print $7}') DATETIME=$(echo "$DATE $TIME") VAR8=$(echo "$LINE" | awk -F',' '{print $8}') echo "$STORAGE_UNIT,$DATETIME,$VAR2,$VAR3,$VAR4,$VAR5,$VAR6,$VAR8" >> "$TMPF3" echo "$STORAGE_UNIT,$DATETIME,$VAR2,$VAR3,$VAR4,$VAR5,$VAR6,$VAR8" done done if [ -f "$TMPF3" ] then cat "$TMPF3" | while read LINE do HOST_NAME=$(echo "$LINE" | awk -F',' '{print $1}') DATETIME=$(echo "$LINE" | awk -F',' '{print $2}') VAR3=$(echo "$LINE" | awk -F',' '{print $3}') VAR4=$(echo "$LINE" | awk -F',' '{print $4}') VAR5=$(echo "$LINE" | awk -F',' '{print $5}') VAR6=$(echo "$LINE" | awk -F',' '{print $6}') VAR7=$(echo "$LINE" | awk -F',' '{print $7}') VAR8=$(echo "$LINE" | awk -F',' '{print $8}') $MYSQL -u$DBUSER -p$DBPASS $DBNAME << EOF | wc -l | awk '{print $1}' | read COUNT SELECT * FROM sandisk_performance WHERE storage_unit='$STORAGE_UNIT' AND line_datetime='$DATETIME' AND threads_running='$VAR3' AND threads_blocked='$VAR4' AND var5='$VAR5' AND free_memory='$VAR6' AND cpu_idle='$VAR7' AND cpu_threashold='$VAR8'; EOF if [ $COUNT -eq 0 ] then echo "Inserting report for : ${STORAGE_UNIT}($DATETIME)" $MYSQL -u$DBUSER -p$DBPASS $DBNAME << EOF INSERT INTO sandisk_performance(storage_unit,line_datetime,threads_running,threads_blocked,var5, free_memory,cpu_idle,cpu_threashold) values('$STORAGE_UNIT','$DATETIME','$VAR3','$VAR4','$VAR5','$VAR6', '$VAR7','$VAR8'); EOF else echo "Updating report for : ${STORAGE_UNIT}($DATETIME)" $MYSQL -u$DBUSER -p$DBPASS $DBNAME << EOF UPDATE sandisk_performance SET storage_unit='$STORAGE_UNIT', line_datetime='$DATETIME', threads_running='$VAR3', threads_blocked='$VAR4', var5='$VAR5', free_memory='$VAR6', cpu_idle='$VAR7', cpu_threashold='$VAR8' WHERE storage_unit='$STORAGE_UNIT' AND line_datetime='$DATETIME' AND threads_running='$VAR3' AND threads_blocked='$VAR4' AND var5='$VAR5' AND free_memory='$VAR6' AND cpu_idle='$VAR7' AND cpu_threashold='$VAR8'; EOF fi done fi }
How or where i can write a C programme in Linux Operating System. Also the way how can i run this programme.
2) There is two commands one for compiling and other for the running the programme in the Linux Waht are they!!!!
Please help i have the assignments on it…………..
For instance. i have a database table. this table has 31 rows in it. the first is owner which determines who “owns” the list. the rest are called “slot” followed by a number in order. “slot1” “slot2” all the the way to slot30.
what im trying to do is add to this table a value in the next empty slot.
i’m unsure how to achieve that however.
i’m using the viscual basic 2008 …..and i can’t figure out how to transfer information from my textbox to a access database.table.