Npgsql 2.1.3 (Postgres v9.3) 및 Dapper 1.29를 사용하여 트랜잭션에서 일부 명령을 실행하려고 시도하지만 예기치 않은 예외가 때때로 발생합니다. 때로는 코드가 제대로 작동합니다. 내 연결 문자열 (필자는 사용자 ID, 암호 및 데이터베이스 제거했습니다)입니다 트랜잭션 삭제 중 예기치 않은 Npgsql 예외
Npgsql.NpgsqlException : ERROR: 57014: canceling statement due to user request
: 다른 시간, 나는 다음과 같은 예외를 얻고 여기에
PORT=5432;TIMEOUT=15;POOLING=True;MINPOOLSIZE=1;MAXPOOLSIZE=20;COMMANDTIMEOUT=20;
COMPATIBLE=2.1.3.0;HOST=127.0.0.1;USER ID=...;PASSWORD=...;DATABASE=...;SSLMODE=Require
코드의 예입니다 그 (간결을 위해 오류 검사를 무시하고) 실패했습니다. : 위의 코드가 왜 저절로 실패하는 지 아는 사람이 있습니까? 연결에 대한 호출이 없음을 확인했습니다. 쿼리 < >이 예외를 던지고 있습니다. 또한, Thread.Sleep() 명령을 transaction.Dispose() 전에 넣을 때 예외가 발생하지 않습니다. Rollback()의 응답을 읽기 위해 호출되는 비동기 코드가있는 것으로 보입니다. Rollback()은 트랜잭션이 삭제 된 후에 발생하여 예외를 throw합니다. NpgsqlConnection과 NpgsqlTransaction의 모든 속성을 살펴 보았고 Rollback()의 결과가 읽혔는지 아닌지를 나타내는 것으로 보이지는 않습니다. 나는 그것을 끝까지 지켜 볼 것이다. 그러나 추가적인 도움은 크게 감사한다. 이 문제가 발생한 다른 사람에게
나중에 참조 할 때와 마찬가지로이 버전은 "Amazon Redshift"연결에서 작동하지 않습니다 ('ic \ monetary error'uppon 연결이 발생 함). 버전 2.0.14.3은 conneting에 대해 작동하지만이 질문에 대해보고 된 것과 동일한 "임의 처리"문제가 있습니다. –