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
운영게시판
최근게시물
PostgreSQL Q&A 10059 게시물 읽기
No. 10059
Stored Procedure에서 Commit
작성자
지현명(gwise)
작성일
2019-03-25 14:27
조회수
3,475

프로시저안에 commit; 명령문을 추가하여 만들고 pg개발 툴에서 call 프로시저 하면  commit이 됩니다. 

그러나 apache tomcat에서 Connection pool을 생성하여 autoCommit =false로 한 다음에

사용자 ui에서 프로시저를 call하면 "오류 :잘못된 트랜잭션 마침" 이라는 오류가 나옵니다. 

 

commit권한을 pg쪽에 넘기고 싶은데 ....... jdbc관련쪽 문제 일가요?

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

 autocommit=true 로 설정하고 진행하면 어떤데요?

김상기(ioseph)님이 2019-03-25 15:46에 작성한 댓글입니다.

 그렇게하면 잘됩니다.

자바쪽에서 autocommit =false 상태에서 execute 다음에 con.commit() 해도 같은 증상이 납니다. 

그런데 pg Stored Procedure에서 단점을 발견했습니다. 

Function에서는 Exception정보를 가져올 수 있는데 Stored Procedure에서는 중간 로직에서 에러가 나도

Exception블럭으로 이동을 하지 않습니다. raise notice로 찍어보니 function하고 차이가 나네요..

오라클이나 ms-sql과 같은 정도의 Stored Procedure를 원했는데 이건 좀 무리였던거 같습니다. 

자바쪽에서 AutoCommit = true로 설정하고 pg에서 Function으로 해야 할거 같습니다. 

 

그래도 이번 프로젝트에 PG를 사용한다는 거에 의미를 두고 싶습니다. 

지현명(gwise)님이 2019-03-25 17:01에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10062새로운 서버 PostgreSQL 디렉토리를 통으로 옮기도 psql이 접속이 되지 않는 현상입니다. [1]
탁구공
2019-04-09
3245
10061max_locks_per_transaction 문의 [2]
us2019
2019-04-02
3405
10060postgreSQL에 repmgr 설치및 설정방법?? [1]
한장익
2019-03-25
3321
10059Stored Procedure에서 Commit [2]
지현명
2019-03-25
3475
10058range -list 지원안하나요? [4]
test
2019-03-25
3179
10057DB 백업&복구 고수님께 질문 [1]
DB mania
2019-03-25
3231
10053DETACH PARTITION 질문 [1]
test
2019-03-18
3142
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다