에서의 특정 셀을 수정 한 후 잠겨지고 내가 가지고있는 프로 시저를 호출 할 때 OUT
매개 변수행은 오라클
SELECT userid
INTO v_userid
FROM users u
WHERE lower(u.email) = lower(p_email)
AND lower(u.token) = lower(p_IV);
UPDATE users u
SET u.token = NULL,
u.lastlogin = sysdate()
WHERE u.userid = v_userid;
OPEN r_cursor FOR
SELECT u.firstname,
u.lastname
FROM users u
WHERE u.userid = v_userid;
로 커서 (r_cursor
를) 반환하는 오라클 프로 시저에 다음 코드 오라클의 모든 것은 완벽하게 작동합니다.
.Net 응용 프로그램에서 프로 시저를 호출하면 오류 ORA-24338: statement handle not executed
이 발생합니다. 많은 테스트 후
UPDATE
문에서
SELECT
문 또는
u.token = NULL,
에서 라인
lower(u.token) = lower(p_IV)
중 하나를 제거하면, 커서가 오류없이 닷넷 응용 프로그램에 반환되는 것을 찾을 수 있습니다.
저장 프로 시저를 호출 할 때 또는 저장 프로 시저에서 반환 된 커서를 사용할 때 오류가 발생합니까? 전자는 OPEN 문이 실행 된 적이 없거나 .NET에 정의 된 매개 변수가 섞여있는 것을 나타냅니다. 후자는 커서가 끝까지 도달 한 후 커서에서 가져 왔음을 나타냅니다. 커서가 전혀 행을 반환하지 않았기 때문일 수 있습니다. – Codo
커서가 반환 된 데이터 집합을 채울 때 오류가 발생합니다. oCon.Open(); oCmd.ExecuteNonQuery(); oDA.Fill (dsCustomer); oDA.Dispose(); 데이터에 대해서는 oracle 프로 시저 자체가 잘 작동하고 좋은 결과를 반환하기 때문에 데이터가 반환됩니다. – Michel