2009-05-15 4 views
1

나는 정상적인 SQL 처리 중에 벽돌 벽을 타격하고DBExpress를 사용하여 Oracle 10g에 255 레코드 삽입 제한을받는 이유는 무엇입니까?

, DBEXPRESS 승/원격 클라이언트에서 오라클 10g에 연결

- 표준 dbxpora.dll를 사용하여 + OCI.DLL

거래에서, 후 정확히 255 개 레코드 삽입, 연결이 30 초 동안 중단하고 오류를 반환 트랜잭션에있는 동안 모든 테이블에 255 개 레코드를 삽입 할 때이 문제가 발생

ORA-03114 (as if it lost the connection...)

합니다. (db 상자에서 로컬로 실행하면 모든 것이 잘 작동 함)

누락 된 것이 있습니까?

답변

0

글쎄, 나는 오라클 데이터베이스를 구체적으로 모르지만, 나는 255가 마법의 숫자라는 것을 알고있다. 이것은 1 바이트로 표현할 수있는 최대 값입니다. 아마도 여러분의 기록을 세는 Byte로 선언 된 것이 있습니다. 그리고 여러분은 그것을 넘치게됩니다. 범위 검사와 오버 플로우 검사가 켜져있는 상태에서 전체 프로젝트를 다시 빌드하고 시도 할 때 어딘가에서 예외가 발생하는지 확인하십시오. 코드를 실제로 컴파일하는 경우이를 추적해야합니다. 라이브러리 중 하나에 있다면 도움이되지 않습니다.

+0

아마도 "(db 상자에서 로컬로 실행될 때 모든 것이 정상적으로 작동 할 때) 놓친 것일 수도 있습니다." – Shane

+0

... 오. 나는 그 잘못을 읽었다. DB에서 트랜잭션을 수동으로 실행하는 것을 의미한다고 생각했습니다. 그럴 때는 신경 쓰지 마라. 여전히 정수 오버플로가 될 수 있지만 문제는 전송 계층의 어딘가에 있습니다. 여기에서 좋은 대답을 얻지 못하면 오라클에보고 해보십시오. –

+0

감사합니다 ...하지만 나는 귀하의 올바른 전송 계층에서 생각하고 ... 즉. DBExpress 및 Oracle10g. – Shane

관련 문제