sybase 에서 ESQL/C 를 이용하여 프로그램을 작성하고 있습니다.
소켓을 이용하여 client 에서 요청하는 DB 관련 쿼리를 서버측에서 받아서 응답을 던져주는 방식으로 구현했습니다.
프로그램을 구현중 Client 에서 Stored Procedure 이름과 SP 쪽으로 넘기는 파라미터들을
소켓으로 보내주면 그것을 받아서 처리해 주고 있습니다.
==================================================================
if(!strcmp(recv_msg.spcode, "sp_이름")){
EXEC SQL EXEC :ret_status = dbo.sp_이름(:prm1, :prm2, :seqno, :prm4) INTO :column1;
}
==============================================================================================
위와 같이 recv_msg.spcode (수신받은 SP 코드값과 ) 미리 정의된 SP 이름과 비교하여 파라미더 갯수와 결과 컬럼 갯수대로
ESQL을 실행 하고 있습니다.
근데 SP 가 추가 되거나 파라메터가 추가 되는 경우에 서버측이 유연하게 대처하기가 어려워서
Client 측에서 SP 이름, SP 파라메터 갯수, 결과 컬럼 갯수 등의 정보를 받아서 그 갯수 만큼을
ESQL로 동적으로 구현 하고자 합니다.
여러 고수님들의 조그마한 힌트라도 감사히 잘 받겠습니다..
이상입니다.
|