国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

oracle執行cmd的實現方法

2020-07-26 14:35:30
字體:
來源:轉載
供稿:網友
不過有一個簡單的執行cmd命令方法:
SQL> host net user
User accounts for //PC-ATQHJ4UG1SDA
----------------------------------------------------------------------------
__vmware_user__ admin Administrator
ASPNET Guest IUSR_PC-ATQHJ4UG1SDA
IWAM_PC-ATQHJ4UG1SDA SUPPORT_388945a0
The command completed successfully.
unix或linux下用
! command
======================補充======================
網上的另兩種方法:
1是利用msvcrt.dll
寫一個c:/orac.sql
內容:
Rem
Rem oracmd.sql
Rem
Rem Run system commands via Oracle database servers
Rem
Rem Bugs to david@ngssoftware.com
Rem
CREATE OR REPLACE LIBRARY exec_shell AS
'C:/windows/system32/msvcrt.dll';
/
show errors
CREATE OR REPLACE PACKAGE oracmd IS
PROCEDURE exec (cmdstring IN CHAR);
end oracmd;
/
show errors
CREATE OR REPLACE PACKAGE BODY oracmd IS
PROCEDURE exec(cmdstring IN CHAR)
IS EXTERNAL
NAME "system" LIBRARY exec_shell
LANGUAGE C;
end oracmd;
/
show errors
然后C:/>sqlplus /nolog
SQL*Plus: Release 8.1.7.0.0 - Production on Thu Jun 7 14:25:38 2001
(c) Copyright 2000 Oracle Corporation. All rights reserved.
SQL> connect system/manager@orcl (分別是用戶名密碼和sid)
Connected.
SQL> @c:/orac.sql
Library created.
No errors.
Package created.
No errors.
Package body created.
No errors.
SQL>
SQL> exec oracmd.exec ('dir > c:/oracle.txt');
結果在我本機出現
第 1 行出現錯誤:
ORA-28595: Extproc 代理: DLL 路徑無效
ORA-06512: 在 "SYSTEM.ORACMD", line 2
ORA-06512: 在 line 1
沒有成功。
第二種方法
c:/1.sql
create or replace and compile
java souRCe named "util"
as
import java.io.*;
import java.lang.*;
public class util extends Object
{
public static int RunThis(String args)
{
Runtime rt = Runtime.getRuntime();
int RC = -1;
try
{
Process p = rt.exec(args);
int bufSize = 4096;
BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);
int len;
byte buffer[] = new byte[bufSize];
// Echo back what the program spit out
while ((len = bis.read(buffer, 0, bufSize)) != -1)
System.out.write(buffer, 0, len);
RC = p.waitFor();
}
catch (Exception e)
{
e.printStackTrace();
RC = -1;
}
finally
{
return RC;
}
}
}
c:/2.sql
create or replace
function RUN_CMz(p_cmd in varchar2) return number
as
language java
name 'util.RunThis(java.lang.String) return integer';
c:/3.sql
create or replace procedure RC(p_cmd in varChar)
as
x number;
begin
x := RUN_CMz(p_cmd);
end;
登陸上去后依舊是依次執行
SQL> @c:/1.sql
/
@c:/2.sql
/
@c:/3.sql
/
variable x number;
set serveroutput on;
exec dbms_java.set_output(100000);
grant javasyspriv to system;
grant javauserpriv to system;(網上的方法沒有這一行,我無法成功,加上去可以)
exec :x:=run_cmz('ipconfig'); 成功運行了命令
測試環境win2003+oracle11g
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淳化县| 红河县| 孟州市| 门头沟区| 长汀县| 康平县| 镇雄县| 团风县| 赤城县| 舒兰市| 新巴尔虎左旗| 陕西省| 外汇| 耒阳市| 山阴县| 廉江市| 祁连县| 四川省| 若尔盖县| 长沙县| 黄骅市| 涟源市| 澄城县| 沙田区| 双柏县| 敦煌市| 缙云县| 花垣县| 马山县| 景德镇市| 宁波市| 长泰县| 菏泽市| 卢氏县| 砀山县| 贺兰县| 商丘市| 平罗县| 涞源县| 明星| 大连市|