import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import oracle.jdbc.OracleTypes;
/**
* java 调用 oracle 存储过程, 仅供参考
*/
public static void main(String [] aaa) {
String sDBDriver = "oracle.jdbc.driver.OracleDriver";
String sConnStr = "jdbc:oracle:thin:@192.168.86.87:1521:WMPRD";
System.out.println("*** 开始 ****");
Connection conn = null;
ResultSet rs = null;
PreparedStatement ps = null;
CallableStatement proc = null;
try {
Class.forName(sDBDriver);
// 这里是通过 JNDI 去查找
// InitialContext context = new InitialContext();
// DataSource source =(DataSource)context.lookup("java:"+"wmwhse1".toUpperCase());
// conn = source.getConnection(); // 得到连接
conn = DriverManager.getConnection(sConnStr, "wmwhse1", "WMwhSql1");
proc = conn.prepareCall("{call NSP_JsRTSO_PSTZS(?,?) }");
proc.setString(1, "Z000000201");
proc.registerOutParameter(2, OracleTypes.CURSOR);
proc.execute();
rs = (ResultSet)proc.getObject(2);
while (rs.next()) {
System.out.println("" + rs.getString(1) + "");
System.out.println("" + rs.getString(2) + "");
System.out.println("/n" + "");
}
System.out.println("***结束****");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
rs.close();
proc.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}