如何在Oracle中使用Java存储过程(详解)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何在Oracle中使用Java存储过程

(详解)

一、如何缔造java存储过程?

通常有三种步骤来缔造java存储过程。

1. 使用oracle的sql语句来缔造:

e.g. 使用create or replace and compile java source named "" as

后边跟上java源程序。要求类的步骤必须是public static的,威力用于存储过程。

1.SQL> create or replace and compile java source named "javademo1

"

2. as

3. import java.sql.*;

4. public class JavaDemo1

5. {

6. public static void main(String[] argv)

7. {

8. System.out.println("hello, java demo1");

9. }

10. }

11. /

12.

13.Java 已

14.

15.缔造。

16.

17.SQL> show errors java source "javademo1"

18.没有

19.

20.舛误。

21.

22.SQL> create or replace procedure javademo1

23. 2 as

24.3 language java name JavaDemo1.main(ng.String[]);

25. 4 /

26.

27.过程已

28.

30.

31.SQL> set serveroutput on

32.SQL> call javademo1();

33.

34.调用

35.实现。

36.

37.SQL> call dbms_java.set_output(5000);

38.

39.调用

40.实现。

41.

42.SQL> call javademo1();

43.hello, java demo1

44.

45.调用

46.实现。

47.

48.SQL> call javademo1();

49.hello, java demo1

50.调用

51.实现。

2. 使用外部class文件来装载缔造

e.g. 这里既然用到了外部文件,必定要将class文件放到oracle Server 的某一目录下边。

1.public class OracleJavaProc

2.{

3. public static void main(String[] argv)

4. {

5. System.out.println("Its a Java Oracle procedure.");

6. }

7.}

8.

9.

10.SQL> grant create any directory to scott;

11.

12.授权

13.顺利。

14.

15.SQL> conn scott/tiger@iihero.oracledb

17.SQL> create or replace directory test_dir as d:/oracle

;

18.

19.目录已

20.

21.缔造。

22.

23.SQL> create or replace java class using bfile(test_dir, OracleJ

avaProc.CLASS)

24. 2 /

25.

26.Java 已

27.

28.缔造。

29.

30.SQL> create or replace procedure testjavaproc as language java

name OracleJavaProc.main(ng.String[]);

31. 2 /

32.

33.过程已

34.

35.缔造。

36.

37.SQL> call testjavaproc();

38.

39.调用

40.实现。

41.

42.SQL> execute testjavaproc;

43.

44.PL/SQL 过程已

45.顺利

46.实现。

47.

48.SQL> set serveroutput on size 5000

49.SQL> call dbms_java.set_output(5000);

50.

51.调用

52.实现。

53.

54.SQL> execute testjavaproc;

55.Its a Java Oracle procedure.

3. 我推举的一种步骤,直接使用loadjava命令远程装载并缔造。

先缔造一个类, e.g.

1.import java.sql.*;

2.import oracle.jdbc.*;

3.

4.public class OracleJavaProc {

5.

6. //Add a salgrade to the database.

7. public static void addSalGrade(int grade, int losal, int his

al) {

8.

9. System.out.println("Creating new salgrade for EMPLOYEE...

");

10.

11. try {

12. Connection conn =

13. DriverManager.getConnection("jdbc:default:connectio

n:");

14.

15. String sql =

16. "INSERT INTO salgrade " +

17. "(GRADE,LOSAL,HISAL) " +

18. "VALUES(?,?,?)";

19. PreparedStatement pstmt = conn.prepareStatement(sql);

20. pstmt.setInt(1,grade);

21. pstmt.setInt(2,losal);

22. pstmt.setInt(3,hisal);

23. pstmt.executeUpdate();

24. pstmt.close();

25. }

26. catch(SQLException e) {

27. System.err.println("ERROR! Adding Salgrade: "

28. + e.getMessage());

29. }

30. }

31.}

使用loadjava命令将其装载到服务器端并编译:

1.D:eclipse3.1workspacedbtest>loadjava -u scott/tiger@iihero.orac

ledb -v -resolve Or

2.acleJavaProc.java

相关文档
最新文档