08-29-2005
Error Handling in Korn Shell scripts
Hi,
I am using few ISQL statements to update and delete from a few tables in sybase, now i want to roll back the transaction when any of the statements fail.How i can i capture these errors in the shell scripts.Please advise.
Thanks,
Gopi
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I face some problem with handling of nulls. I declare a variable - say i - and intialise to 0. Later I read it from console, wherein if I dont give any variable and press return key, I get this error:
"0403-004 Specify a parameter with this command"
Is there anyway to handle this error?
... (3 Replies)
Discussion started by: mohanprabu
3 Replies
2. UNIX for Dummies Questions & Answers
I have a shell script, which calls a load script to load a database. How can i handle errors in Unix(similar to 'error level' in Batch scripts)? I am trying to use 'mailx' to send a Success/failure message based on the error level returned by the load script.
I have already used an error log... (2 Replies)
Discussion started by: sarsani
2 Replies
3. Shell Programming and Scripting
Hi All, I am new to this forum as well as to unix scripting.
Can you please help me to create a korn shell script to find out errors in logfiles and get the name of that logfile ( which is having error) in email and email it to me? (2 Replies)
Discussion started by: jithu
2 Replies
4. Shell Programming and Scripting
Hi All
I have a FTP script which FTPs few files into an user folder. I intend to keep track of the folder size before FTP and after FTP and print that once the FTP script is run (a kind of comparison, "Before FTP, "After FTP").
I decided to use kron shells to accomplish this.
#! /bin/ksh
... (2 Replies)
Discussion started by: guruparan18
2 Replies
5. Shell Programming and Scripting
Hello,
I have written a shell script and suppose there is any error in the script. How i can do exception handling in shell script.for example i have below code
sqlplus -s <<uid>>/<<pwd>>@<<$ORACLE_SID>> <<EOF > 1_pid1.log
set pagesize 0
set feedback off
set heading off
set linesize 200... (1 Reply)
Discussion started by: rksingh003
1 Replies
6. Shell Programming and Scripting
Hi all
I've got a question regarding error handling in shell scripts. My background is mainly object oriented programming languages, but for a year or so I've been doing more and more (bash) shell scripting (which I quite enjoy by the way).
To handle errors in my scripts I... (3 Replies)
Discussion started by: script_man
3 Replies
7. Shell Programming and Scripting
Hi, need help, I would like to know what is this IF statement trying to do? When the script is executing and error out with line 9 which is the IF statement line.
if ]
then
TOPDIR=$(pwd)
else
TOPDIR=${0%/*}
fi
TOPDIR=${TOPDIR%/*}
the log file.
Current system time is... (15 Replies)
Discussion started by: beooi
15 Replies
8. Shell Programming and Scripting
I am not able to capture error condition in sftp in Korn Shell
#!/bin/ksh
sftp batch@uat >abc 2>&1 << ENDFILE
cd public
put /data/WELCOME_55
ENDFILE
ret_val=$?
if ]
then
print file "copied successfully"
else
print file "NOT copied successfully"
fi
return 0
Now the... (9 Replies)
Discussion started by: Soham
9 Replies
9. Shell Programming and Scripting
Hi all,
I have a script which should take more than 9 command line inputs while running. Likescript.sh a s d f g h j j k l o p i u y t r e w
Now in the script if I have to access one of the input which is at position after 9, in this case say 'p' then how can I do that?
echo $12 will not work... (15 Replies)
Discussion started by: pat_pramod
15 Replies
10. Shell Programming and Scripting
Hi ,
My Script work as below
1-
On server 1
execute script1.sh ,
through this script one parameter file is generated as file.txt this is to transfer on server 2
2-
After reaching on server2 other shell script script2.sh execute using parameter file file.txt
This generate file... (1 Reply)
Discussion started by: kaushik02018
1 Replies
LEARN ABOUT PHP
oci_rollback
OCI_ROLLBACK(3) OCI_ROLLBACK(3)
oci_rollback - Rolls back the outstanding database transaction
SYNOPSIS
bool oci_rollback (resource $connection)
DESCRIPTION
Reverts all uncommitted changes for the Oracle $connection and ends the transaction. It releases all locks held. All Oracle SAVEPOINTS are
erased.
A transaction begins when the first SQL statement that changes data is executed with oci_execute(3) using the OCI_NO_AUTO_COMMIT flag.
Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until
the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.
When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.
PARAMETERS
o $connection
- An Oracle connection identifier, returned by oci_connect(3), oci_pconnect(3) or oci_new_connect(3).
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
oci_rollback(3) example
<?php
// Insert into several tables, rolling back the changes if an error occurs
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");
// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
// Use OCI_DEFAULT as the flag for PHP <= 5.3.1. The two flags are equivalent
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
oci_rollback($conn); // rollback changes to both tables
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
// Commit the changes to both tables
$r = oci_commit($conn);
if (!r) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>
Example #2
Rolling back to a SAVEPOINT example
<?php
$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);
// Create the savepoint
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);
$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);
// Use an explicit SQL statement to rollback to the savepoint
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);
oci_commit($conn); // mytab now has id of 1111
?>
NOTES
Note
Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need
to explicitly call oci_commit(3) to commit the transaction.
Any call to oci_execute(3) that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted
transaction.
Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.
SEE ALSO
oci_commit(3), oci_execute(3).
PHP Documentation Group OCI_ROLLBACK(3)