如何使用Java存储过程显示tabledata?

时间:2012-02-05 08:42:46

标签: java sql oracle java-stored-procedures

目前,我正在stored procedures的{​​{1}}中测试一些JAVA,因此我尝试显示所有的emp实体。

所以我的问题是如何在java存储过程中显示整个表?

这是我试过的:

oracle db

我在这个方法中的问题是我不能使用create or replace and compile java source named getEMP as import java.sql.*; import java.util.*; public class Example{ public static void showEmp() throws SQLException, ClassNotFoundException { ResultSet rs; Properties p = new Properties(); p.put("user", "user"); p.put("password","password"); String strCon = "Connection String"; Class.forName("oracle.jdbc.OracleDriver"); Connection con = DriverManager.getConnection(strCon, p); Statement stmt; con = DriverManager.getConnection(strCon, p); String query = "select empno, ename, deptno, sal, comm " + "from emp"; stmt = con.createStatement(); rs = stmt.executeQuery(query); //Display the ResultSet } } 。在此之后它只显示任何内容:

System.out.println("");

提前致谢!

1 个答案:

答案 0 :(得分:0)

您需要确保启用服务器输出并将java输出重定向到它。在SQL * PLus中,您可以使用以下两个语句来完成此任务:

SQL> set serveroutput on;
SQL> call dbms_java.set_output(20000);

数字20000是最大缓冲区大小,与DBMS_OUTPUT中相同。

在此之后,如果您运行exec showEmp;,您应该可以看到正在打印System.out.println()来电的结果。