将Oracle htp.p输出读入Java应用程序
由于系统的性质,我们已经构建了一个动态存储过程读取器。我剩下的唯一问题是调用proc后无法将htp.p输出读回我的应用程序 由于读者根据请求动态构建过程,我无法对特定点使用将Oracle htp.p输出读入Java应用程序,java,database,oracle,Java,Database,Oracle,由于系统的性质,我们已经构建了一个动态存储过程读取器。我剩下的唯一问题是调用proc后无法将htp.p输出读回我的应用程序 由于读者根据请求动态构建过程,我无法对特定点使用CallableStatement.registerOutParameter(),除非有不明显的使用方法 以下是来自Oracle DB的循环,它在每次传递时返回单个字符串: while cRecords%found loop htp.p(replace(replace(rec.title, chr(10), ''),
CallableStatement.registerOutParameter()
,除非有不明显的使用方法
以下是来自Oracle DB的循环,它在每次传递时返回单个字符串:
while cRecords%found loop
htp.p(replace(replace(rec.title, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.city, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.venue, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.complex, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.startDate, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.endDate, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.minPrice, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.maxPrice, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.eventInfo, chr(10), ''), chr(13), '')||'~'||
replace(replace(rec.eventImage, chr(10), ''), chr(13), '')
);
fetch cRecords into rec.title, rec.city, rec.venue, rec.complex, rec.startDate, rec.endDate, rec.minPrice, rec.maxPrice, rec.eventInfo, rec.eventImage;
end loop;
这是代码的一小部分:
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@10.0.0.2:8080:***dv", "user", "pass");
System.out.println("conn made");
String stmt = "{call EVENTMACHINE_JDBC_HTP(01/12/2017, 15/12/2017)}";
System.out.println(stmt);
cStmt = conn.prepareCall(stmt);
cStmt.execute();
我尝试过在多个网站上搜索,但都没有结果,我也看不到任何有助于我的事业的方法
如果有任何帮助,我们将不胜感激。为什么不使用
cStmt.executeQuery()
以便返回ResultSet
?@M.le Rutte-cStmt.execute()方法返回一个boolean
值-true
如果返回ResultSet
,则返回false
。不幸的是,返回值为false