LoginPolicy에 SQL을 변경하면 오류가 발생함돠.
- 작성자 :
- 김*오
- 작성일 :
- 2010-07-26 13:13:47
- 조회수 :
- 3,286
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
익명게시판을 어떻게든 만들어 보려고 열심히 삽질에 열중을 다하고 있습니다.
아무것도 모르는 초짜가 열심히 하고 있는데.
LoginPolicy의 SQL을 Sybase에서 사용할수 있게 변경해보았는데.SELECT A.USER_ID,
A.USER_NM,
A.USER_SE,
B.IP_INFO,
B.DPLCT_PERM_AT,
ISNULL(B.LMTT_AT,'N') AS LMTT_AT,
B.LAST_UPDUSR_ID,
B.LAST_UPDUSR_PNTTM,
CASE
WHEN B.EMPLYR_ID IS NULL THEN 'N'
ELSE 'Y' END AS REG_YN
FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B
ON A.USER_ID = B.EMPLYR_ID
위와 같이 변경을 하였습니다.
아랫부분은 아래와 같은데 이걸 삭제하였습니다.
WHERE 1 = 1
AND A.USER_ID = #emplyrId#
그리고 다시 확인 해보았는데.
데이터 처리 중 오류가 발생하였습니다.
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Error: executeQueryForObject returned too many results.; nested exception is java.sql.SQLException: Error: executeQueryForObject returned too many results.
이렇게 오류가 발생하였습니다.
무슨말인지 모르겠어요... SQL을 잘못사용한 건가요?
아무것도 모르는 초짜가 열심히 하고 있는데.
LoginPolicy의 SQL을 Sybase에서 사용할수 있게 변경해보았는데.SELECT A.USER_ID,
A.USER_NM,
A.USER_SE,
B.IP_INFO,
B.DPLCT_PERM_AT,
ISNULL(B.LMTT_AT,'N') AS LMTT_AT,
B.LAST_UPDUSR_ID,
B.LAST_UPDUSR_PNTTM,
CASE
WHEN B.EMPLYR_ID IS NULL THEN 'N'
ELSE 'Y' END AS REG_YN
FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B
ON A.USER_ID = B.EMPLYR_ID
위와 같이 변경을 하였습니다.
아랫부분은 아래와 같은데 이걸 삭제하였습니다.
WHERE 1 = 1
AND A.USER_ID = #emplyrId#
그리고 다시 확인 해보았는데.
데이터 처리 중 오류가 발생하였습니다.
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Error: executeQueryForObject returned too many results.; nested exception is java.sql.SQLException: Error: executeQueryForObject returned too many results.
이렇게 오류가 발생하였습니다.
무슨말인지 모르겠어요... SQL을 잘못사용한 건가요?
A
안녕하세요. 김광오님.
변경하신 Sql문은 사용자의 정보를 가져오는 쿼리이며 조건에 해당하는 USER_ID 는 key 값으로 uniqe 합니다.
쿼리변경시 조건문을 넣지 않으셨으면 조건에 맞는 모든 정보를 가져오게 되어 장애가 발생한 것입니다.
조건문을 추가하여 1개의 row 만을 select 하시기 바랍니다.
즐거운 하루되세요. 감사합니다.
변경하신 Sql문은 사용자의 정보를 가져오는 쿼리이며 조건에 해당하는 USER_ID 는 key 값으로 uniqe 합니다.
쿼리변경시 조건문을 넣지 않으셨으면 조건에 맞는 모든 정보를 가져오게 되어 장애가 발생한 것입니다.
조건문을 추가하여 1개의 row 만을 select 하시기 바랍니다.
즐거운 하루되세요. 감사합니다.