'프로시저'에 해당되는 글 2건
- 2009.12.05 JDBC로 프로시저 호출하기
- 2009.05.05 JDBC Code Template - 프로시저
- JDBC로 프로시저 호출하기
- 日常茶飯事
- 2009. 12. 5. 17:45
- SQL Server에서 SELECT 결과를 리턴하는 경우
- 위와 동일한 환경에서 PreparedStatement로 프로시저 실행
[todo] openquery로도 가능하지 않나?
CallableStatement cs = null; ResultSet rs = null; try{ cs = con.prepareCall("{ ? = call PR_AUTH('TEAM', ?, 'emp_no', ?) }"); cs.registerOutParameter(1, Types.OTHER); //리턴값이 결과집합임. cs.setString(2, "A"); cs.registerOutParameter(3, Types.INTEGER); if(cs.execute()){ rs = (ResultSet)cs.getResultSet(); while(rs.next()){ out.println(rs.getString(1) + "\t" + rs.getString(2)); } out.println("code:" + cs.getInt(3)); } }finally{ close rs, cs, con; }
getDatabaseProductName : Microsoft SQL Server
getDatabaseProductVersion : 9.00.1399
getDriverName : Microsoft SQL Server 2005 JDBC Driver
getDriverVersion : 1.2.2828.100
getDriverVersion(int) : 1.2
getJDBCVersion : 3.0
getDatabaseProductVersion : 9.00.1399
getDriverName : Microsoft SQL Server 2005 JDBC Driver
getDriverVersion : 1.2.2828.100
getDriverVersion(int) : 1.2
getJDBCVersion : 3.0
- 위와 동일한 환경에서 PreparedStatement로 프로시저 실행
PreparedStatement ps = null; ... ps = con.prepareStatement("EXEC PR_AUTH 'TEAM', ?, 'emp_no', '' "); ps.setString(1, "A"); //input인자는 가능하지만 마지막에 위치한 output인자는 지정할 수 없다(PreparedStatement에는 registerOutParameter()가 없다.) ResultSet rs = ps.executeQuery(); while(rs.next()){ out.println(rs.getString(1) + "===>" + rs.getString(2) + "<br />"); }
[todo] openquery로도 가능하지 않나?
- JDBC Code Template - 프로시저
- 日常茶飯事
- 2009. 5. 5. 15:57
CallableStatement cs = null; try{ cs = con.prepareCall("{ ? = call sp_test(?,?,?) }"); int idx = 0; cs.registerOutParameter(++idx, Types.INTEGER); cs.setString(++idx, COL_1); cs.setString(++idx, COL_2); cs.setString(++idx, COL_3); cs.execute(); int result = cs.getInt(1); if(result == -1){ //check error throw new SQLException("result is -1"); //=-=> 좀 더 정형화된 다른 예외를 만들어야... } return result; }catch(Exception e){ throw new RuntimeSQLException(e, primaryKey); }finally{ if(cs != null){ try{ cs.close(); }catch(Exception ignored){ } } }
Recent comment