db2와 oracle에서 프로시저 호출하기
DB2 |
2006. 6. 5. 19:47
======== oracle =========
try
{
int age = 39;
String poetName = "dylan thomas";
CallableStatement proc = connection.prepareCall("{ call set_death_age(?, ?) }");
proc.setString(1, poetName);
proc.setInt(2, age);
cs.execute();
}
catch (SQLException e)
{
// ....
}
{
int age = 39;
String poetName = "dylan thomas";
CallableStatement proc = connection.prepareCall("{ call set_death_age(?, ?) }");
proc.setString(1, poetName);
proc.setInt(2, age);
cs.execute();
}
catch (SQLException e)
{
// ....
}
======== DB2 =========
try
{
int age = 39;
String poetName = "dylan thomas";
CallableStatement proc =
{
int age = 39;
String poetName = "dylan thomas";
CallableStatement proc =
connection.prepareCall(" call set_death_age(cast(? as INT), cast(? as VARCHAR(20)) ");
proc.setString(1, poetName);
proc.setInt(2, age);
cs.execute();
}
catch (SQLException e)
{
// ....
}
오라클에서 잘 돌아가던 프로시저 호출 구문이 DB2에서 에러를 토해낼때
1. 파라미터 타입을 일치시켜라(예: cast(? as INT))
2. { } 부분을 삭제하라(그 이유는 아직도 잘.. 빼니 돌아갑니다.. (__ )a )
'DB2' 카테고리의 다른 글
DB2에서 *.sql 파일을 읽어들여 실행하기 (0) | 2006.12.31 |
---|---|
Column Size 변경 (0) | 2006.12.19 |
DB2 에서의 OUTER JOIN (0) | 2006.06.01 |
DB2에서의 부분범위 처리 (0) | 2006.06.01 |
SQL0418N 오류 (0) | 2006.05.09 |