2013-02-08 3 views
0

PGCopyOutputStream을 사용하여 jdbc의 COPY 명령 중간에 데이터베이스 연결이 끊어지는 문제가 있습니다. 왜 이것이 일어날 지 아무 생각이 없어요. 나는 두 개의 정수 열을 가진 테이블에 쓰고있다. 나는 PostgesSQL 9.0.3에있다.PostgresSQL PGCopyOutputStream 연결이 끊어졌습니다

java.io.IOException: Write to copy failed. 
at org.postgresql.copy.PGCopyOutputStream.write(PGCopyOutputStream.java:84) ~[postgresql-9.0-801.jdbc4.jar:na] 
at org.postgresql.copy.PGCopyOutputStream.write(PGCopyOutputStream.java:76) ~[postgresql-9.0-801.jdbc4.jar:na] 
at 
    ... 
    ... 
Caused by: org.postgresql.util.PSQLException: Database connection failed when writing to copy 
at org.postgresql.core.v3.QueryExecutorImpl.writeToCopy(QueryExecutorImpl.java:856) ~[postgresql-9.0-801.jdbc4.jar:na] 
at org.postgresql.core.v3.CopyInImpl.writeToCopy(CopyInImpl.java:53) ~[postgresql-9.0-801.jdbc4.jar:na] 
at org.postgresql.copy.PGCopyOutputStream.writeToCopy(PGCopyOutputStream.java:125) ~[postgresql-9.0-801.jdbc4.jar:na] 
at org.postgresql.copy.PGCopyOutputStream.write(PGCopyOutputStream.java:82) ~[postgresql-9.0-801.jdbc4.jar:na] 
... 10 common frames omitted 
Caused by: java.net.SocketException: Socket closed 
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116) ~[na:1.7.0_03] 
at java.net.SocketOutputStream.write(SocketOutputStream.java:153) ~[na:1.7.0_03] 
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) ~[na:1.7.0_03] 
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:95) ~[na:1.7.0_03] 
at org.postgresql.core.PGStream.SendChar(PGStream.java:174) ~[postgresql-9.0-801.jdbc4.jar:na] 
at org.postgresql.core.v3.QueryExecutorImpl.writeToCopy(QueryExecutorImpl.java:850) ~[postgresql-9.0-801.jdbc4.jar:na] 
... 13 common frames omitted 

답변

0

이 예외는 이전의 기본 키 제약 조건 위반으로 인해 예외가 발생하여 연결을 사용할 수 없게 만들었습니다.

관련 문제