目前,我正在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("");
提前致谢!
答案 0 :(得分:0)
您需要确保启用服务器输出并将java输出重定向到它。在SQL * PLus中,您可以使用以下两个语句来完成此任务:
SQL> set serveroutput on;
SQL> call dbms_java.set_output(20000);
数字20000是最大缓冲区大小,与DBMS_OUTPUT
中相同。
在此之后,如果您运行exec showEmp;
,您应该可以看到正在打印System.out.println()
来电的结果。