Sponsored Content
Top Forums Shell Programming and Scripting unix capture oracle function error Post 302421447 by dips_ag on Friday 14th of May 2010 10:10:29 AM
Old 05-14-2010
unix capture oracle function error

Hi,

I want to execute an oracle function from unix script so for that I created a sample oracle function as below:

Code:
 
create or replace
function test_fn(test_date out varchar2)
RETURN varchar2
IS
BEGIN
select to_char(sysdate,'DD-MON-YY') into test_date from dual;   
return test_date;
END test_fn;

after that I executed this oracle func in the unix script as below:
Code:
 
var=`sqlplus -s <<EndOfLine
user/pass@DB
WHENEVER SQLERROR EXIT FAILURE
WHENEVER OSERROR  EXIT FAILURE
set serveroutput on
set echo off
set feedback off
set verify off
set linesize 500
DECLARE
test_var varchar2(100);
BEGIN
test_var:=test_fn(test_var);
dbms_output.put_line(test_var);
END;
/
quit;
EndOfLine`
 
echo $var

and it executed fine and gave result as "14-MAY-10". But just to know how this will capture database errors I gave a wrong function name
instead of test_fn I gave fn_test. Now a very strange thing happened it listed all the files in the current directory and then gave the real database error:
Code:
 
test_var:=test_fn(test_var); file1 file2 file3 file4 ERROR at line 4: ORA-06550: line 4, column 11: PLS-00201: identifier 'fn_test' must be declared ORA-06550: line 4, column 1: PL/SQL: Statement ignored

Here files in red are the files present in the current folder where I am executing this script. I am really baffled by this. Do anyone suggest how to rectify the script so that on error it shows the actual error?

NOTE: I cannot direct the result of the oracle function to a file I've capture in a variable only i.e. I cannot do anything like this
Code:
sqlplus -s <<EndOfLine > result_file

-dips
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Capture Oracle return code in shell script

I am using the following code in my shell script list=`sqlplus -s $user/$pwd@$dbms<<EOF WHENEVER SQLERROR EXIT SQL.SQLCODE set pagesize 0 feedback off verify off heading off echo off select * from control_tbl where src_nm=$3 and extrct_nm=$4; exit SQL.SQLCODE; EOF` ERROR=$?... (1 Reply)
Discussion started by: Vikas Sood
1 Replies

2. Solaris

how to capture oracle export log while running as background process

I ran the Oracle 9i export command from a terminal to export out a big table using "exp andrew/password file=andrew.dmp log=andrew.log" From the terminal I can see that the export is running as there is some output from the oracle export job. The export job is not complete yet. When i go check... (4 Replies)
Discussion started by: hippo2020
4 Replies

3. Shell Programming and Scripting

How to capture value in shell variable from oracle sql?

Hi Friends, Do someone know how to capture value in a shell variable from oracle sql? Requirement : In a table we want to count the number of records and want to pass this value to a shell variable where it can be manipulated later. In ksh shell we open oracle connection from sqlplus. For... (1 Reply)
Discussion started by: sourabhsharma
1 Replies

4. Shell Programming and Scripting

how to capture oracle function returning 2 values in unix

i have an oracle function which returns two values, one is the error message if the function encounters anything and another one which returns a number i need to capture both and pass it on to unix shell script how to do it (2 Replies)
Discussion started by: trichyselva
2 Replies

5. Shell Programming and Scripting

Need to capture error of sybase sql in unix

Hi Gurus, I am very new in Unix, I have 1 script, in which I am truncating the table , then BCP the data in Sybase table, and then loading the data from sybase table to sybase table. every thing is working fine, but the problem is with Error. I made some hanges in my insert statement so... (1 Reply)
Discussion started by: aksar
1 Replies

6. Shell Programming and Scripting

Need to capture error of sybase isql in unix

Hi Gurus, I am very new in Unix, I have 1 script, in which I am truncating the table , then BCP the data in Sybase table, and then loading the data from sybase table to sybase table. every thing is working fine, but the problem is with Error. I made some hanges in my insert statement so... (3 Replies)
Discussion started by: aksar
3 Replies

7. Shell Programming and Scripting

Capture rows for a column in file from delete sql -Oracle

Hi, This may not be the right forum but i am hoping someone knows an answer to this. I have to capture rows for a column that was deleted. How can i do that without having to write a select query? delete from myschema.mytable where currentdatetimestamp > columnDate this should delete 5... (4 Replies)
Discussion started by: jakSun8
4 Replies

8. Shell Programming and Scripting

How to capture system() function output in variable

How to capture system() function output in awk variable and the print that awk variable..... (8 Replies)
Discussion started by: bharat1211
8 Replies

9. Homework & Coursework Questions

How to Dynamically Pass Parameter to plsql Function & Capture its Output Value in a Shell Variable?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: 2. Relevant commands, code, scripts, algorithms: #! /bin/ksh v="ORG_ID" ... (2 Replies)
Discussion started by: sujitdas2104
2 Replies

10. Red Hat

Unable to capture value from function

Hi Experts, Am writing a code which need to check for the previous day date and pickup the file as per the previous day date. Problem: Why variable "YDATE" is empty ? O/S: RHEL 5.6 Shell: BASH Desired O/P: ls -lrt /opt/test/user/atsuser.NHU/out/demon.08272017 When I checked the... (3 Replies)
Discussion started by: pradeep84in
3 Replies
asadmin(1M)						    Application Server Utility						       asadmin(1M)

NAME
asadmin - utility for performing administrative tasks for the Sun Java System Application Server SYNOPSIS
asadmin subcommand [-short_option[short_option_argument]]* [--long_option[long_option_argument]]* [operand]* Use the asadmin utility to perform any administrative task for the Sun Java System Application Server. You can use this utility in place of using the Administration Console. The subcommand identifies the operation or task you wish to perform. Subcommands are case-sensitive. Short option arguments have a single dash (-); while long option arguments have two dashes (--). Options modify how the utility performs a subcommand. Options are also case- sensitive. Most options require argument values except boolean options which toggle to switch a feature ON or OFF. Operands appear after the argument values, and are set off by a space, a tab, or double dashes (--). The asadmin utility treats anything that comes after the options and their values as an operand. Local subcommands can be executed without the presence of an administration server. However, it is required that the user be logged into the machine hosting the domain in order to execute the subcommand and have access (permissions) for the installation and domain directo- ries. Remote subcommands are always executed by connecting to an administration server and executing the subcommand there. A running administra- tion server is required. All remote subcommands require the following options: -u --user authorized domain application server administrative username. -w --password password to administer the domain application server. -H --host machine name where the domain application server is running. -p --port port number of the domain application server listening for administration requests. -s --secure if true, uses SSL/TLS to communicate with the domain application server. -t --terse indicates that any output data must be very concise, typically avoiding human-friendly sentences and favoring well- formatted data for consumption by a script. Default is false. -e --echo setting to true will echo the command line statement on the standard output. Default is false. -I --interactive if set to true (default), only the required password options are prompted. For security purposes, you can set the password for a subcommand from a file instead of entering the password at the command line. The --passwordfile option takes the file containing the passwords. The valid contents for the file are: AS_ADMIN_PASSWORD=value AS_ADMIN_ADMINPASSWORD=value AS_ADMIN_USERPASSWORD=value Given the --passwordfile option and its value, the password options in the passwordfile are exported to the global environment; subsequent subcommands without the password options take this value. However, if both the --password and --passwordfile options are specified on the command line, the password value in the passwordfile is exported to the global environment and subsequent subcommands without the --pass- word option would take this value. However, for the current subcommand, the --password option value specified on the command line is taken since the --password option takes precedence over the --passwordfile option. To use the --secure option, you must use the set command to enable the security--enabled flag in the admin http-listener in the domain.xml. When you use the asadmin subcommands to create and/or delete, you must restart the server for the newly created command to take affect. Use the start-domain command to restart the server. Some characters, such as the colon (:), the asterisk (*), and the backslash(, cause errors if you use them in the command syntax unless you use escape characters to set them off. The possibilities for using escape characters vary depending upon what platform you use and whether you use singlemode or multimode. You do not need to use escape characters for colons in the get or set commands. On UNIX, in singlemode, you can use either two backslashes () or double-quotes (" ") to escape restricted characters. For example, when creating a JDBC connection pool with an option whose value includes colons, you could use backslashes (example assumes the environment variables have been set for some properties): asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url=jdbc:oracle:thin:@asperfsol8:1521:V8i:user=staging_lookup_app:password=staging_lookup_app OraclePoollookup To use quotes in the same example as above, you would enclose the value in double quotes (") and escape the double quotes with the back- slash. asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url= word=staging_lookup_app OraclePoollookup On windows, in singlemode, you can escape using the backslash character. For example, when creating a JDBC connection pool with an option whose value includes colons, you could use backslashes (example assumes the environment variables have been set for some properties): asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url=jdbcoraclethin@asperfsol81521V8i:user=staging_lookup_app:pas sword=staging_lookup_app OraclePoollookup On any platform, in singlemode, you can use backslashes to escape the character and enclose the value containing the escaped characters in double quotes. For example, when creating a JDBC connection pool with a option whose value includes colons, you could use the escape char- acters as follows (example assumes the environment variables have been set for some properties): asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url="jdbcoraclethin@iasperfsol81521V8i":user=staging_lookup_app: password=staging_lookup_app OraclePoollookup On any platform, in multimode, you can use the following syntax, which only requires quotes, not slashes or backslashes: asadmin> create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url="jdbc:oracle:thin:@asperfsol8:1521:V8i":user=staging_lookup_app:password=staging_lookup_app OraclePoollookup To access the manpages for the Application Server Command-line interface subcommands, add $AS_INSTALL/man to your MANPATH environment vari- able. You can obtain overall usage information for any of the asadmin utility subcommands by invoking the --help option. If you specify a sub- command, the usage information for that subcommand is displayed. Using the help option without a subcommand displays a listing of all the available subcommands. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Unstable | +-----------------------------+-----------------------------+ appclient(1M), package-appclient(1M) J2EE 1.4 SDK March 2004 asadmin(1M)
All times are GMT -4. The time now is 11:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy