Call unix commands from stored procedures
My stored procedure requires to call unix commands HOW DO I DO IT?
null
i do not know pl sql but in java you can use:
Runtime.getRuntime().exec("YOUR UNIX COMMAND");
real example:
Runtime.getRuntime().exec("ls");
but you must be careful with using that...
especially if you want to wait till the process finishes..
rgds,
Similar Messages
-
Issue with Executing OS commands from Stored Procedure
I am trying to execute the scripts provided at :
http://github.com/xtender/XT_SHELL
provided by xtender user.
As required, I have asked my DBAs to grant privileges by executing the following scripts:
Begin
--change to needed permissions and execute
dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/factiva/ODS/bin/CVIM_Rpt_ExportCSVFile’, 'read,write,execute' );
end;
/where CVIM_Rpt_ExportCSVFile is my script residing in the Unix server where my Oracle is installed.
The error I am facing when I try to execute the following command is:
select * from table(xt_shell.shell_exec('/var/scripts/CVIM_Rpt_ExportCSVFile',100))
Exception:the Permission (java.io.FilePermission /var/scripts/CVIM_Rpt_ExportCSVFile execute) has not been granted to ODS. The PL/SQL to grant this is dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )I have asked my DBA to also execute the following scripts: - But I still see the same error as above. I am not able to figure out whats going on. Can anyone pls help me out??
EXEC Dbms_Java.Grant_Permission('ODS', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
EXEC Dbms_Java.Grant_Permission(ODS', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');
dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )DUPLICATE
===============================================================
Issue with Executing OS commands from Stored Procedure
============================================================== -
Run multiple unix commands from ODI procedure
I want to run a series of unix commands from ODI procedure. I dont want to use Unix shell scripts. (I know that works).I am just trying to place the contents of the shell scripts in ODI procedure with Operating system as technology. But I am unable to execute the proecedure.
For example below is a very small 3 line commands I would execute
filename="/var/test.txt"
ls -l $filename > /var/anotherfile.txt
chmod 777 $filename
I am not sure if there is any specific syntax that I have to follow for executing unix commands. Also I dont want to write a Jython and use os.system command as well.
Appreciate any help on thisFirst your original question... You can put more than one DOS command on a single line, simply separate each command with an ampersand (&). For example:
mkdir c:\abc & cd abc & dir*
Regarding your concerns about performance, well that would depend on exactly what you mean. Using CLIENT_HOST (or HOST on the server) simply opens a shell (DOS in this case) then passes your command to it. The performance of performing this action really isn't measurable. Basically you are just pressing a button and you should get a near immediate action. As for the performance of executing each command, that has nothing to do with Forms. Once the command is passed to the shell, the rest is a function of the shell and whatever command you passed.
Having said that, if you were to write something sloppy like a loop (in pl/sql) which called CLIENT_HOST lots of times repeatedly, then yes there would be a performance problem because the pushing of the button will cause an exchange to and from the server and each cycle in the loop will do the same.
So the answer to how performance is impacted will depend on what exactly you need to accomplish. If it is a single call to CLIENT_HOST, this should be fine. -
How to execute unix command from ODI Procedure
Hi,
I am trying to execute below unix command from ODI Procedure (Command on Target tab) but I am getting the error "java.io.IOException: Cannot run program "cd": error=2, No such file or directory" but when I try to execute the same command using OdiOSCommand, it is executing successfully. I don't want to use shell script to execute this command. Is there any specific syntax am I missing to execute this command from ODI procedure?
cd /project3/tmt/;ls *.dmp > dmplist.lst
Please help me on this...
Thanks
MTHi nahlikh,
Thank you for the reply.
I used below command in Procedure but still getting the same error as "java.io.IOException: Cannot run program "OdiOSCommand": error=2, No such file or directory".
OdiOSCommand "-COMMAND=cd /project3/tmt/;ls *.dmp > dmplist.lst"
as I mentioned earlier if I use the command cd /project3/tmt/;ls *.dmp > dmplist.lst in OdiOSCommand tool it is executing successfully without any issues.
any thoughts appreciated to get a solution for this issue.
Thanks
MT -
Call Unix Command From Reports Using Java
Hi,
Could somebody please show me a sample coding to call Unix command from 10g report using java?
In metalink doc id 361857.1 does not show much.
Thanks,
neeminHi,
I have a problem with synchronization of the java commands.
In the Before Parammeter Form trigger, I have:
function BeforePForm return boolean is
rt ORA_JAVA.JOBJECT;
proc ORA_JAVA.JOBJECT;
v_txt varchar2(32000);
i integer := 0;
v_cd_modulo int;
v_arqlog text_io.file_type;
cursor c_evento is
select codigo,
nome
from
(select e.cd_evento || e.cd_edicao codigo
,nm_evento nome
from grh_ev_evento e
where e.CD_GRUPO in (select cd_grupo
from grh_ev_adm
where cd_usuario = (select cd_usuario
from usuario
where login_usuario = :AUTHID)))
order by substr(nome, 11);
begin
-- Create the context for logged user
if instr(upper(nvl(:AUTHID,'RWCLIENT')),'RWCLIENT') > 0 then
:AUTHID := :SSO_USUARIO;
end if ;
TCEENV.SET_TCEENV(:AUTHID);
if PK_SCA.SCA_GET_USER_RIGHTS(:sca_module_name, :AUTHID) IS NULL then
srw.message(100, 'Access denided!');
return (FALSE);
end if;
-- Create file in Report Server (UNIX)
v_txt := '<BR>' || htf.formSelectOpen('P_EV_EDICAO', 'Evento: ');
:p_file := '/u03/SCAWEB/repout/' || :sca_module_name || '_' ||
pk_sca.sca_encrypt(:AUTHID || to_char(systimestamp, 'ss.ff'));
v_arqlog := text_io.fopen (:p_file, 'A');
text_io.put_line (v_arqlog, v_txt);
for reg in c_evento loop
i := i + 1;
if i = 1 then
v_txt := '<OPTION SELECTED VALUE="' || reg.codigo || '">' || reg.nome;
else
v_txt := '<OPTION VALUE="' || reg.codigo || '">' || reg.nome;
end if;
text_io.put_line (v_arqlog, v_txt);
end loop;
v_txt := '</SELECT></CENTER></form></BODY> </HTML>';
text_io.put_line (v_arqlog, v_txt);
text_io.fclose (v_arqlog);
SRW.SET_AFTER_FORM_HTML(SRW.FILE_ESCAPE, :p_file);
rt := RUNTIME.GetRuntime();
proc := RUNTIME.exec(rt,'rm ' || :p_file);
return (TRUE);
end;
The problem is that there isn't a "synchronize" command, and the
RUNTIME.exec(rt,'rm ' || :p_file) don't works (it does nothing) because
the SRW.SET_AFTER_FORM_HTML has a large delay and the following
command is ignored.
How can I solve it?
thanks,
lmprestes -
How to execute Operating System commands from Stored procedure.
Any help on how to execute Operating System commands from stored procedures will be appreciated.
Nanditha.Search the forums for 'External Procedure' and you will find example code that has been posted before.
-
Calling DTS package from Stored Procedure
I am getting error calling DTS package from CF.
So i want to call DTS package from SQL Server Stored
Procedure.
DTS package create text file. So no need of input or output
parameter.
What is the syntax?.
thanks for ur help.Ted Kruger explains how this can be done in his blog post
Run SSIS Package from Stored Procedure
For every expert, there is an equal and opposite expert. - Becker's Law
My blog -
Calling UNIX command from PL/SQL Procedure
Is there a way to call a UNIX command (exa. ls) from within a PL/SQL stored procedure? Looking through the various packages, I didn't see anything that would give me this ability.
I also looked through all the previous questions and nothing looked encouraging.
Thanks in advance,
RussRuss,
I thought I'd read a similar question awhile ago and did a search on the word host in this forum and found the following from July 9th that might help you:
http://technet.oracle.com:89/ubb/Forum88/HTML/001611.html
In that post I think the link listed by Barbara Boehmer in has changed to:
]http://asktom.oracle.com/pls/ask/f?p=4950:8:24579::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:16212348050,{host}
It looks like they give solutions for Oracle 7, 8 and 8i.
Good site Barbara, I've added it to my bookmarks.
Hope this helps. -
Running Unix script from stored procedure
At present, I run a unix script to export my data for backup using telnet. I would like my users to run the commands on their own without my help. My users do not know telnet (they have no IT knowledge). So, I plan to create a form using Developer/2000 and let them run the procedure thru a stored procedure.But, my problem is how can a stored procedure call a unix script?
Hi,
solution, used by me.
Create a stored procedure that produces a text file with utl_file. The content of the file is the script you want to execute on your Unix box.
On your Unix Box write a shell script that scans the utl_file_dir for Files. If a file is in, chmod 744 to grnt execute rights to it and execute it.
I have a example if you want.
Start the script with crontab or let it loop with a sleep inside.
HTH
Detlev -
Calling shell script from stored procedure.
Hi Everybody,
Could anyone tell me how to call a shell script from a stored procedure.
Thanks,
VasuYou would need to write a Java stored procedure that calls out to the underlying operating system. Tom Kyte has an example of this here
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:952229840241
Make sure that you're very aware of the security implications here, however. Your commands will run as the Oracle user on the host operating system, which makes it possible that a coding error and/or an attacker could do something like delete or corrupt Oracle data files, so you'll probably want to harden the code substantially.
Justin -
Executing a Operating System command from Stored Procedure ??
I want to execute a Operating System command from a PL/SQL Stored Procedure, can anyone suggest me how can I do this ??
I am on Sun-Solaris with Oracle 8.1.7 database.
Please do email me at [email protected]
Thanks in Advance,
Ramesh L.Are you using a webserver? If so, you could make your operating system script into a CGI program, then execute it from pl/sql using utl_http.request.
-
How to call 'C' programs from stored procedures?
Hi
Did anybody tried to call 'C' programs
from oracle stored procedures?
If anybody knows, can you please send
how to configure the listener.ora and
tnsnames.ora. If its possible post all the
information from the begining with examples.
thanks....Oracle JDBC did not support return a result set, if you are using Oracle 9i, you can use pipeline function, then using the TABLE() function the get the row.
Good Luck.
Welcome to http://www.anysql.net/en/ -
Calling Oracle Reports from stored procedures
Hi ,
Can anybody tell me whether this is possible and if so, how it can be done. Thanks for your help.
Regards,
DeepaOracle Forms allows you to easily integrate Oracle Reports into your
applications. However, on the Macintosh, it is not possible to use
the normal Oracle Reports runtime to generate ASCII text files. In
order to allow ASCII text files to be generated with Oracle Reports
on the Macintosh, the Reports<TEXT> Runtime applications was
developed. This version of the runtime only allows you to generate
text files and should not be used for other purposes.
While the Reports<TEXT> Runtime application has been provided, there
is no built in integration with Forms. This bulletin explains a
method which you can use integrate these two applications with little
effort. In order to use this method, you will need the following
items installed on your computer:
* Oracle Forms 4.0
* Oracle Reports 2.0
* Oracle Command 1.0
* AppleScript 1.1. This is available as part of the Macintosh
Operating System version 7.5 as well as with certain 3rd party
applications.
Because the only way to use the Reports<TEXT> Runtime application is
through Oracle Command, we will be using Oracle Command to run the
Reports<TEXT> Runtime application. However, we need some way to
communicate with Oracle Command which report we would like to run and
what parameters we would like to pass in to Reports. To accomplish
this goal, an AppleScript application will be used. Forms can use
AppleEvents (Apple's method for inter-application communication) to
communicate with this AppleScript application which can then create
an Oracle Command script file to run. So, the summary of events
which will take place are as follows:
1. Forms dynamically creates a command line to run the
Reports<TEXT> Runtime application.
2. Using AppleEvents, Forms communicates this command line to the
AppleScript application which writes out an Oracle Command
script file.
3. The AppleScript application communicates with Oracle Command and
tells it to run the script which it just created.
4. Oracle Command runs the script which invokes the Reports<TEXT>
Runtime application.
1. Creating the AppleScript Application
The core of this solution is the AppleScript Application. While it
is not necessary for you to be familiar with AppleScript, it will
help tremendously in your understanding of how everything works.
Here we provide you with an AppleScript which provides the
functionality we need to implement our procedure.
Note: This AppleScript is designed to work with the Macintosh
Operating System version 7.5. It should work with earlier
versions of the Operating System, but no guarantees are
made. Furthermore, there are known problems with the version
of AppleScript provided with version 7.1.2 of the Operating
System which will cause your machine to crash when this
script is executed. These problems with AppleScript were
corrected for the version 7.5 release of the Operating System.
-- This AppleScript Application is responsible for being a
-- "go-between" between Oracle Forms and Oracle Command. It is
-- responsible for both dynamically creating Oracle Command script
-- files and disposing of these files.
-- NOTE: This AppleScript Application was written for the Macintosh
-- Operating System version 7.5. It has not been tested
-- on any other version of the Macintosh Operating
-- System.
-- Author
-- ======
-- Doug Bitting
-- Oracle Worldwide Technical Support
-- Apple Desktop Products Group
-- Date: 21-MAR-95
-- The syntax "on <<...>> args" is how you setup an AppleScript to
-- accept AppleEvents.
-- Be careful, the << and >> characters are option-\ and option-|
-- respectively. They are not two less-than signs and two
-- greater-than signs.
on <<event R20Trunt>> cmdScript
-- First, let's construct a, hopefully, unique file name
set dt to ((current date) as string)
set hr to (word 5 of dt)
set mn to (word 6 of dt)
set sec to (word 7 of dt)
set fName to (hr * 3600 + mn * 60 + sec as string)
-- For this example, we will put all dynamically constructed
-- script files onto the desktop.
set tFold to (path to desktop)
set fName to (tFold & "tmp." & fName as string)
-- set up a mnemonic for the Return character
set cr to (ASCII character 13)
try
-- open our Oracle Command script file
-- The sequence <opt-l> at the end of the following line
-- should be type in as an option-l (that is, a lowercase L).
set fRef to (open for access file fName with write <opt-l>
permission)
-- Now, write the Oracle Command command line which was
-- passed to us via AppleEvents.
-- The sequence <opt-l> at the end of the following line
-- should be type in as an option-l (that is, a lowercase L).
write (cmdScript & cr) starting at <opt-l>
((get eof fRef) + 1) to fRef
-- Now we have to also ask Oracle Command to let us know
-- when it is finished with the script file we are
-- creating. Basically, we are asking Oracle Command to
-- use AppleEvents to let us know when to throw away the
-- file we are creating
-- The sequence <opt-l> at the end of the following lines
-- should be type in as an option-l (that is, a lowercase L).
write ("host SENDAE aplt R20T remv ---- t \"" & fName <opt-l>
& "\";" as string) starting at <opt-l>
((get eof fRef) + 1) to fRef
-- close the Oracle Command script file
close access fRef
-- Now that we have setup the temporary file,
-- tell Oracle Command to execute it.
tell application "Oracle Command 1.0"
runscript fName
end tell
-- You can put some error handling here if you'd like.
end try
end <<event R20Trunt>>
-- This is the AppleEvent handler to clean up when we are done. It
-- simply throws the temp file into the trash can.
-- Be careful, the << and >> characters are option-\ and option-|
-- respectively. They are not two less-than signs and two
-- greater-than signs.
on <<event R20Tremv>> fName
tell application "Finder"
move (fName as alias) to (path to trash)
end tell
end <<event R20Tremv>>
2. Setting Up Forms
It is useful to setup a PL/SQL Program Unit to hide the details
behind running the Text Runtime. Here is a suggested PL/SQL Program
Unit for you to use:
-- The following procedure is used to hide some of the details in
-- using the AppleScript Application. It accepts 4 arguments:
-- * The report name
-- * The name of the output file
-- * The parameters you would like to pass in. These need to be
-- formatted just as if you were calling reports from a
-- command line.
-- * A connect string for Reports<TEXT> Runtime to connect with.
procedure run_text_report (
rName in char,
oName in char,
params in char,
cString in char) is
cLine varchar2(1000);
begin
cLine := 'execute r20text module='| |rname;
cLine := cLine | | ' userid='| |cString;
cLine := cLine | | ' paramform=no batch=yes';
cLine := cLine | | ' destype=file desname='| |oname;
cLine := cLine | | ' desformat=dflt.prt '| |params| |';';
host('SENDAE aplt R20T runt ---- t "'| |cLine| |'"');
-- NOTE: in the above host() command, the series of quotes at the
-- end reads as follows: double-quote, single-quote, vertical
-- bar, vertical bar, the word cLine, vertical bar, vertical
-- bar, single-quote, double-quote, single-quote.
end;
Here is an example of how I can use the above procedure. In a
WHEN-BUTTON-PRESSED trigger, I might have:
declare
reportName varchar2(16);
outputName varchar2(64);
paramVals varchar2(64);
connectStr varchar2(16);
begin
-- We want to run the report named "myreport". The output from this
-- report should go into a file named "output.txt" located in the
-- "Reports" directory on my hard drive. This report accepts two
-- parameters: p_start_date and p_end_date. The connect string for
-- the database I am using is simply "scott/tiger"
-- Setup some variables to hold all the information I want to pass
-- in to run_text_report(). This information is put into variables
-- for readability.
reportName := 'myreport';
outputName := 'HD:Reports:output.txt';
paramVals := 'p_start_date=''01-MAR-95'' p_end_date=''31-MAR-95''';
connectStr := 'scott/tiger';
-- Run the report
run_text_report(reportName, outputName, paramVals, connectStr);
end;
3. Putting the pieces together
In order for this solution to function, you need to make sure that
both your AppleScript application and Oracle Command are running when
you make a call to run_text_report(). It is possible for you to
launch Oracle Command from within Oracle Forms with the following
line of code:
host('LAUNCHID oBTL');
If you place the above line of code in a WHEN-NEW-FORM trigger, you
can assure that Oracle Command will be running when your form is
launched.
It is also possible for you to have Oracle Forms launch your
AppleScript application. However, in order for you to do this, you
need to be very familiar with the Macintosh Operating System, how to
change the creator type of a file, and know what effects that change
can produce. If you do not know how to change the creator type of
your AppleScript application or are not comfortable doing so, you
should simply document that your users need to make sure to launch
your AppleScript application before trying to use your Form.
However, if you know how to change the creator type of your
AppleScript application and are comfortable doing so, here are the
steps you will need to take to have Oracle Forms launch your
AppleScript application for you:
* Change the creator type of your AppleScript application to
something unique.
* Modify the run_text_report() procedure. You need to change the
four character sequence "aplt" found in the host() command to the
new creator type of your AppleScript application.
* Add the line host('LAUNCHID <your new creator type>'); to your
WHEN-NEW-FORM trigger or to whichever trigger you placed the
host('LAUNCHID oBTL'); statement.
There is one significant difference between RUN_PRODUCT and this
solution. With RUN_PRODUCT, you have the option of specifying
whether or not the call should be synchronous or asynchronous.
However, the call to run_text_report() will always be asynchronous.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Deepa Pai:
Hi ,
Can anybody tell me whether this is possible and if so, how it can be done. Thanks for your help.
Regards,
Deepa <HR></BLOCKQUOTE>
null -
Calling Java Methods from Stored Procedures
Can I call Java Methods from Oracle Stored Procedures? I have a Java framework that logs events and would like to reuse it for logging events that occur in stored procedures.
nullYou need to publish java class methods to plsql.
Attached below is some information.
Although both PL/SQL modules and Java classes are stored in the database
and are managed by many of the same mechanisms, each of them resides in
its own namespace. Therefore, Java methods are not accessible from SQL
and PL/SQL by default. In order to expose Java methods to the SQL and
PL/SQL engines, first publish that Java method to the SQL namespace using
a 'Call Spec'.
Note: A 'Call Spec' does not create an additional layer of
execution so there is no performance penalty incurred.
A 'Call Spec' is simply a syntactical mechanism used to
make a method known in the SQL namespace.
The SQL name established by the 'Call Spec' can be top-level or packaged.
The syntax differs only slightly and is consistent with that used for
PL/SQL procedures and packages. For more information on the exact
syntax, see the references listed in 'Related Topics'.
In general, a top-level procedure 'Call Spec' takes the form:
CREATE OR REPLACE PROCEDURE procname ( pname mode ptype, ... )
AS LANGUAGE JAVA NAME 'javaname ( javatype, ... )';
Where: procname is the SQL name you wish to publish
pname is the name for a parameter to procname
mode is the parameter mode (i.e. IN, OUT, IN OUT)
ptype is a valid SQL type (e.g. NUMBER, CHAR, etc.)
javaname is the fully qualified name of the Java method
javatype is a Java type for the corresponding parameter
Likewise, a top-level function 'Call Spec' takes the form:
CREATE OR REPLACE FUNCTION fname ( pname mode ptype, ... ) RETURN rtype
AS LANGUAGE JAVA NAME 'javaname ( javatype, ... ) return javatype';
Where: fname is the SQL name you wish to publish
rtype is the SQL return type of the function
Note: Within the NAME clause, everything within quotes is case
sensitive. For example, if the keyword 'return' is in all
CAPS, this Call Spec will not compile.
Other optional parts of this syntax have been omitted here for simplicity.
Additional examples in subsequent sections illustrate some of these options.
eg
CREATE PROCEDURE MyProc (rowcnt IN NUMBER, numrows OUT NUMBER)
AS LANGUAGE JAVA NAME 'MyClass.MyMethod(int, int[])';
There are several important things to note here:
1.) The 'Call Spec' for a JSP must be created in the same schema as the
corresponding Java class that implements that method.
2.) IN parameters are passed by value. This is the only parameter mode
available in Java. OUT parameters, therefore, must be passed as single
element arrays in order to emulate pass by reference.
3.) Parameter names do not need to match, but the number and types of
the parameters must match (with just one exception - see item 5 below).
Oracle 8i supports conversions between an assortment of SQL and Java.
See the references listed in 'Related Topics' for additional information.
4.) Primitive types (e.g. int, float, etc.) are not required to be fully
qualified with any package name. However, standard Java object types
(e.g. String, Integer, etc.) as well as any user defined object types
(e.g. like those generated by JPublisher) must be prefixed with a
corresponding package name (e.g. java.lang) if applicable.
5.) The 'main' method which takes a single String[] parameter can be
mapped to any PL/SQL procedure or function which takes some number
of VARCHAR2 or CHAR type IN parameters. For example, the java method:
public static void main ( String[] args ) { ... }
can be mapped to each of the following:
PROCEDURE MyProc2 ( arg1 IN CHAR ) ...
PROCEDURE MyProc3 ( arg1 IN CHAR, arg2 IN VARCHAR2 ) ...
PROCEDURE MyProc4 ( arg1 IN VARCHAR2, arg2 IN VARCHAR2 ) ...
and so forth. Parameters map to the corresponding element of the String
array (e.g. arg1 -> args[0], arg2 -> args[1], etc.).
null -
Executing SQLPLUS command from Stored Procedure
Hi,
I am trying to execute the SQLPLUS command (CONNECT) from the stored procedure.
It is throwing below error message.
Stored Procedure:
SQL> select user from dual
2 ;
USER
SYS
SQL> create or replace
2 PROCEDURE PROCEDURE1 AS
3 BEGIN
4 sqlplus sys/sys@D as sysdba;
5 --execute immediate 'create user 'kkk' identified by 'kkk';
6 END PROCEDURE1;
7 /
Warning: Procedure created with compilation errors.
SQL> show err
Errors for PROCEDURE PROCEDURE1:
LINE/COL ERROR
3/9 PLS-00103: Encountered the symbol "SYS" when expecting one of the
following:
:= . ( @ % ;
The symbol ":=" was substituted for "SYS" to continue.
3/22 PLS-00103: Encountered the symbol "AS" when expecting one of the
following:
. ( * @ & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
LIKE4_ LIKEC_ between || member SUBMULTISET_
The symbol ". was inserted before "AS" to continue.
Please let me know whether it is possible to do or not.
If there is possiblility how can does this be done?
Edited by: NGK246 on Aug 28, 2012 2:21 AMNGK246 wrote:
Hi,
I am trying to execute the SQLPLUS command (CONNECT) from the stored procedure.
It is throwing below error message.
It would not. It will always throw an error. SQLPLUS is a Utility and not a Command/Construct, that it would be available for a Stored Procedure
>
SQL> select user from dual
2 ;
USER
SYSWhich Database are you onto? Is it DMIP?
SQL> create or replace
2 PROCEDURE PROCEDURE1 AS
3 BEGIN
4 sqlplus sys/sys@DMIP as sysdba;
5 --execute immediate 'create user 'kkk' identified by 'kkk';
6 END PROCEDURE1;
7 /
Warning: Procedure created with compilation errors.
SQL> show err
Errors for PROCEDURE PROCEDURE1:
LINE/COL ERROR
3/9 PLS-00103: Encountered the symbol "SYS" when expecting one of the
following:
:= . ( @ % ;
The symbol ":=" was substituted for "SYS" to continue.
3/22 PLS-00103: Encountered the symbol "AS" when expecting one of the
following:
. ( * @ & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
LIKE4_ LIKEC_ between || member SUBMULTISET_
The symbol ". was inserted before "AS" to continue.
Please let me know whether it is possible to do or not.
If there is possiblility how can does this be done?If you are at DMIP, you need not Login again. You can Login Manually to the Database and Execute the Procedure (in which you intend to create a User 'kkk').
However, if you are trying to Create a User in a Different Database, You will first require a DB Link to exist to connect to the Remote Database. You will also require Explicit privileges to create any user (Although I am not sure if you can create User onto a different Database.)
I would like to ask you, why are you creating a User on a Remote database? Can you not execute the same procedure on the Remote database and create User? Also, you are using SYS login to perform the activity. Ideally it should not be allowed. You must create a user and grant DBA rights to perform such activities.
Maybe you are looking for
-
Set up says firefox is still open and wont proceed in the set up wizard, what do I do?
In downloading firefox 4, the setup wizard will not get past "please close firefox" to proceed with set up. Firefox is closed on my laptop with Xp what do I do?
-
Namespace missing in the payload
Hi , I doing a JDBC to IDoc scenario.I am using a JDBC sender Adapter to get data using a select query from DB Table ,every thing works fine.The Structure get filled up ,but the namescape is missing in the source payload (SXMB_MONI).Anyone knows why
-
I dont have a receipt...how much does it cost to get my zen micro repair
i dropped it on concrete and i think the hard dri've is broken. how much will it cost to get it fixed? does it really matter if i have a receipt since the product hasn't been on the market for 2 months yet?
-
Tutorial on how to use slideshow in adobe golive
hI, I have been tearing my hair out for the last week I find it impossible to work out how to set up a slideshow in adobe golive cs - Does anybody know some simple tutorials on how to do it, as I find the online help with golive no help at all..! I h
-
Does MBP need to be connected to internet at initial setup?
Will it cause trouble to set up the internet connection later? macbook pro 2.16GHz Mac OS X (10.4.6)