안녕하세요.
TQuery 컴포넌트 또는 TClientDataSet 사용하여 오라클 8i 의 프로시져를 호출해야만 합니다.
방법이 있는지 알고 싶습니다.
-- 오라클 8i 에서 생성한 프로시져 입니다.
CREATE OR REPLACE PROCEDURE TEST_SP ( P_C001 IN VARCHAR2 ) IS
CNT INTEGER;
BEGIN
SELECT COUNT(*) INTO CNT FROM 사원코드;
END;
델파이 7 에서 테스트한 것
1)
Query.Sql.text := 'exec sp_test ''aaa'' ';
Query.open; ==> 에라 발생 혹시나하고 Query.execsql; ==> 마찬가지로 에라 발생
2)
Query.Sql.text := 'exec sp_test (''aaa'') '; ==> 괄호 추가
Query.open; ==> 에라 발생 혹시나하고 Query.execsql; ==> 마찬가지로 에라 발생
3)
Query.Sql.text := 'begin sp_test (''aaa'') end '; ==> 괄호 추가
Query.open; ==> 에라 발생 혹시나하고 Query.execsql; ==> 마찬가지로 에라 발생
Query 컴포넌트에서는 프로시져 호출이 안되는건가요??
보통 프로시져 호출시 TStoredProc 컴포넌트를 사용하는데.. 이걸 사용하지 않고 Query 를 사용할려고 함..
StoredProc 컴포넌트 를 사용하지 않고 TQuery 컴포넌트를 사용해야 하거든요..
이유: ==> TClientDataSet 에서 호출하는 방법을 연계해서 개발 할려고 함
(3 Tier 에서 멀티 레코드 사용시 필요함)