導航:首頁 > 編程語言 > oracleloadjava

oracleloadjava

發布時間:2023-08-02 19:12:51

⑴ 如何查看linux下的oracle存儲過程

步驟:
1) 在Linux系統中創建一個目錄用來存放本操作需要用到的文件
[root@dbserv ~]# mkdir /sunjava
2) 在Linux系統中將Java程序的ExcelOperate.class文件、.jar、ojdbc.jar放到sunjava目錄下:
[root@dbserv ~]# cp /home/oracle/ExcelOperate.class /sunjava
[root@dbserv ~]# cp /home/oracle/poi.jar /sunjava
[root@dbserv ~]# cp /home/oracle/jdbc.jar /sunjava
3) 在Linux系統中配置Java相關環境變數:
用gedit 打開配置文件profile文件:
[root@dbserv ~]# gedit /etc/profile
在配置文件的最後添加(或者存在的情況下修改)如下代碼
export JAVA_HOME=/usr/java/ jdk1.6.0_32
exprot JAVA_BIN=/usr/java/ jdk1.6.0_32 /bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/sunjava/poi.jar:/sunjava/jdbc.jar/:/sunjava/
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME JAVA_BIN CLASSPATH PATH
說明:在CLASSPATH增加了外部包所在的位置;最好將.class文件所在的路徑也添加進去。
4)將引用的外部包jar文件復制到Oracle
的"$ORACLE_HOME/sqlj/lib"目錄中:
[root@dbserv sunjava] cp
poi.jar $ORACLE_HOME/sqlj/lib
[root@dbserv sunjava] cp jdbc.jar $ORACLE_HOME/sqlj/lib
4)進入Oracle的"$ORACLE_HOME/sqlj/lib"目錄中,通過 loadjava命令,將調用的外部包放到Oracle資料庫中:
# 10gR2
loadjava -u sys/password -r -v -f -genmissing -s -grant public demo1.jar demo2.jar
# 11g
loadjava -u sys/password -r -v -f -genmissing -s -grant public demo1.jar demo2.jar
[root@dbserv lib] loadjava -u apps/apps -r -v -f -genmissing -s -grant public poi.jar jdbc.jar
5)在Oracle資料庫中:
--創建資料庫中的目錄(將.class文件所在的物理目錄映射到資料庫中的目錄)
CREATE OR REPLACE DIRECTORY test_dir AS '/sunjava';
--
創建資料庫中的Java class
(將需要調用的Java class文件映射到資料庫中的Java Class)
CREATE OR REPLACE JAVA CLASS USING BFILE(test_dir,'ExcelOperate.class');
--檢查是否創建成功
SELECT a.OBJECT_NAME, a.OBJECT_TYPE,a.status FROM user_objects a WHERE a.OBJECT_NAME LIKE '%ExcelOperate%';
--創建調用Java程序的存儲過程
CREATE OR REPLACE PROCEDURE test_java AS LANGUAGE JAVA
NAME 'ExcelOperate.main(java.lang.String[])';
--設置輸出
SET SERVEROUTPUT ON SIZE 5000;
CALL DBMS_JAVA.SET_OUTPUT(5000);
--執行存儲過程
EXECUTE test_java;

⑵ 如何oracle數據更新時觸發java代碼

oracle數據更新時觸發java代碼的步驟如下:

1。編寫JAVA程序

publicclassMain{
publicstaticvoidmodify(StringstatTime)
{
Stringdatas="/var/spool/cron/oracle";
Filedata=newFile(datas);
StringBufferbackup=null;
try{
StringBuffercontent=newStringBuffer();
backup=newStringBuffer();
BufferedReadersan=newBufferedReader(newFileReader(data));
Stringline=null;
while((line=san.readLine())!=null)
{
backup.append(line);
backup.append("/n");
}
content.append("15");
content.append(statTime.trim());
content.append("***/home/oracle/task.sh");
content.append("/n");

content.append("13");
content.append(statTime.trim());
content.append("***/home/oracle/tj_task/task2.sh");
content.append("/n");

FileWriterwriter=newFileWriter(data,false);
writer.write(content.toString());
writer.flush();

}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
try
{
FileWriterwriter=newFileWriter(data,false);
writer.write(backup.toString());
writer.flush();
}catch(Exceptionex)
{
ex.printStackTrace();
}
}
}
}

注意,這里寫JAVA程序不需要遵循標準的JAVA程序,一定要有main入口函數,相反,這里的函數一般不要取名為main,除非格式是標準的main 函數格式

2。把JAVA程序LOAD進oracle

在$ORACLE_HOME/bin目錄下有個LOADJAVA命令,使用這個命令將剛寫好的JAVA程序LOAD進資料庫。

loadjava -usertest/test@test-o -v -f -r Main.java

如果成功的話,會列印出來信息提示成功,若程序有編譯錯誤的話,也會提示錯誤的地方。

3。修改許可權

首先以管理員身份登錄進資料庫

sqlplus / as sysdba

然後執行

begin

dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/var/spool/cron/oracle','read,write,execute,delete');

end;

/

執行完畢後,在資料庫里執行上述JAVA程序時,就擁有讀寫該文件的許可權了。

4。創建存儲過程

進入到資料庫,在SQLPLUS命令行

create or replace procere Modify(name varchar2) as language java name 'Main.modify(java.lang.String)';

/

會提示創建存儲過程成功。

5。增加trigger

TOAD里直接針對某個表增加trigger,所以關鍵部分的代碼

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

⑶ 我下載了java和oracle,不過在oracle那一按就顯示無法載入java runtime environment,求解答,無限感激

請按照如下步驟檢查:

  1. 開始->運行->CMD,打開命令行,輸入java,確認JAVA 安裝成功;

  2. 看看你安裝的java runtime environment 版本

  3. 你的操作系統是?瀏覽器版本是?

    我需要先知道以上信息才能幫你分析原因

閱讀全文

與oracleloadjava相關的資料

熱點內容
電子資料文件有哪些 瀏覽:241
猥瑣貓表情教程 瀏覽:599
android音頻文件格式 瀏覽:458
漫畫臉app哪裡可以下載 瀏覽:959
購買歡樂升級歡樂豆 瀏覽:282
學習智能機器人用什麼編程最好 瀏覽:655
蘋果手機如何管控app 瀏覽:633
mn文件夾 瀏覽:590
安卓平板通用刷機包下載 瀏覽:751
安卓獲取內部存儲路徑 瀏覽:880
寫代碼兩台顯示器 瀏覽:327
unitypackage壓縮文件 瀏覽:493
奕心安卓 瀏覽:563
使用土地的有關證明文件包含哪些 瀏覽:493
數據標注哪裡可以接 瀏覽:482
在家自學編程下什麼學 瀏覽:705
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510

友情鏈接