database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2070 게시물 읽기
No. 2070
Could not a position within [테이블명] 문제...
작성자
차인덕
작성일
2004-10-25 15:15
조회수
7,477

현재 로그인처리시 회원테이블에서 회원정보를 select해서 세션에 담고 바로 회원테이블에 로그인한 시간을 업데이트하고 있습니다. 테스트하기 위해 로그인--> 로그아웃 만 계속 하도록(한 100회) 프로그램 짜서 돌리고 브라우저에서 로그인한 다음 회원정보를 수정하면 바로 Could not a position within [테이블명]과 같은 에러 문구가 나면서 디비에서 데이터 가져오지 못하고 있습니다.
테이블에 lock이 걸려서 그런것 같은데, 이런 경우 해결방법이 어떤게 있는지요.
로그인처리시 로그인시간 업데이트하는 부분을 주석으로 막고 처리하면 정상적으로 아무문제가 발생하지 않습니다.

그리고 이런경우, 'set lock mode to [초]'와 같은 명령어를 실행하면 효과가 있는지 궁금합니다.

이 글에 대한 댓글이 총 1건 있습니다.

Could not position~ 에러는 table에 lock이 걸려서

해당 row를 가져올수 없을 때 발생합니다...

transaction에서 update가 처리되고 있는동안..

다른 transaction에서 select를 하려고 하는 경우 발생한 것일텐데..

 

해결 방법은

set lock mode to wait 초 를 주셔서..

그 lock 이 release 될때까지 기다리는 방법...

lock level을 row level로 주셔서... lock 단위를 줄이는 방법...

또는 select를 dirty read로 하는 방법이 있겠습니다..

 

위와 같은 방법으로 concurrency를 높일수 있습니다...

지금 같은 로긴페이지에서 dirty page를 읽는 것은 잘못될 소지가 있으므로...

lock mode와 level로 하는 게 맞을거 같네요...

 

 

^^V님이 2004-10-25 17:36에 작성한 댓글입니다.
이 댓글은 2008-02-26 14:56에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2074저장공간 확보 질문요.. [1]
Tiger
2004-10-28
6724
2073인포믹스에 스트링으로 날짜 집어넣기... [1]
ifx
2004-10-26
7644
2072죄송하지만.. [2]
포미
2004-10-26
6273
2070Could not a position within [테이블명] 문제... [1]
차인덕
2004-10-25
7477
2069insert 후에 serial 값을 알아내고 싶습니다. [1]
박영란
2004-10-21
6499
2068실제 웹 구동시 에러가 납니다 sqlcode=0 [4]
しことしなしきの
2004-10-21
6556
2067프로시져 생성 오류에 대한 질문 [1]
김동미
2004-10-19
6723
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2022 DSN, All rights reserved.
작업시간: 0.061초, 이곳 서비스는
	PostgreSQL v14.2로 자료를 관리합니다