Oracle驱动文件如下如果链接失效回复,楼主会进行更新。
https://pan.baidu.com/s/1jMLa30ALQ1k8fPznpNA6tw
版本:Oracle_10g_10.2.0.4_JDBC_ojdbc14
附上调用带返回值的Oracle调用存储过程的sample。
package conn;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
public class OracleConnTest {
private String driver = "oracle.jdbc.OracleDriver";
private String url="jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=11.199.153.101)(port=1521))(connect_data=(service_name=databaseName)))";
ResultSet rs = null;
Connection conn = null;
CallableStatement cstmt = null;
public static void main(String[] args) {
OracleConnTest test=new OracleConnTest();
test.output();
}
public void output() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, "prdpcdw", "prdpcdw");
cstmt = conn.prepareCall("{ call SchemaName.存储过程名字(?,?,?,?)}"); //一个?一个参数,这个存储过程两个输入,两个输出
cstmt.setString(1, "参数1");
cstmt.setString(2, "参数2");
cstmt.registerOutParameter(3, Types.VARCHAR); //输出参数1
cstmt.registerOutParameter(4, Types.VARCHAR); //输出参数2
cstmt.execute();
String flag = cstmt.getString(3);
String exit = cstmt.getString(4);
System.out.print("flag:" + exit + "exit:" + flag );
} catch (SQLException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (cstmt != null)
cstmt.close();
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}