Background Image

FORUM

조회 수 20008 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
connection 후 1천만 건을 insert 하였습니다. 테이블은 만든 상태이고여..
근데 insert 를 하다보면. 몇천건을 쓰다 몇만건을 쓰다
cannot communicate with the broker 라고 발생하면서 broker 하고 연결이 disconnect 됩니다.

문제점이 무엇인지요??

cubrid_broker.conf 에 keep_connection 도 on으로 변경 했는데 마찬가지거든요..

jdbc 를 사용합니다.

  public static void main(String[] args) throws Exception{
       Connection conn = null;
       PreparedStatement pstmt = null;
      
       try{
           Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
           conn = DriverManager.getConnection("jdbc:CUBRID:localhost:33000:test:::", "test", "testdb");

            int count = 0;
            while(count < 10000000){
                String sql = insert into test_tbl ( code, sex, name ) values ( ?, ?, ? )" ;
                pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, ""+System.nanoTime());
                pstmt.setInt(2, 1);
                pstmt.setBytes(3, "11111".getBytes());

                int row = pstmt.executeUpdate();

                if ( row > 0 ){
                    conn.commit();
                    count++;
                }
             }

            stmt.close();
            conn.close();

            } catch ( SQLException e ) {
               System.err.println(e.getMessage());
            } catch ( Exception e ) {
               System.err.println(e.getMessage());
            } finally {
                if ( conn != null ) conn.close();
            }
     }

  • ?
    손승일 2009.09.29 02:00

    CUBRID 상세 버전을 알려 주시기 바랍니다.
    내부에서 현재 버전인 2008 R2.0에서 테스트 한 결과 30만건이 들어 가는 동안에도 에러가 발생하지 않고 있습니다.
    broker 설정은 디폴트로 설정된 상태 그대로 사용하였습니다.
    참고로 아래는 제가 테스트한 소스입니다. 테이블은 create table test_tbl(code varchar(50), sex int, name bit varying(20));으로 생성했습니다. 테스트 하신 내용과 다른 부분이 있으시면 알려 주시기 바랍니다.
    import  java.sql.*;

    public class INSERT {

    public static void main(String[] args) throws Exception{
           Connection conn = null;
           PreparedStatement pstmt = null;

           try{
               Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
               conn = DriverManager.getConnection("jdbc:CUBRID:localhost:36000:demodb:::", "", "");

                int count = 0;
                while(count < 10000000){
                    String sql = "insert into test_tbl ( code, sex, name ) values ( ?, ?, ? )" ;
                    pstmt = conn.prepareStatement(sql);
                    pstmt.setString(1, ""+System.nanoTime());
                    pstmt.setInt(2, 1);
                    pstmt.setBytes(3, "11111".getBytes());

                    int row = pstmt.executeUpdate();

                    if ( row > 0 ){
                        conn.commit();
                        count++;
                    }
                 }

                pstmt.close();
                conn.close();

                } catch ( SQLException e ) {
                   System.err.println(e.getMessage());
                } catch ( Exception e ) {
                   System.err.println(e.getMessage());
                } finally {
                    if ( conn != null ) conn.close();
                }
         }
    }


  • ?
    차가워여 2009.09.29 03:09
    code varchar(30), sex int, name bit varying(20) 으로 하였습니다.
    버젼은 2008 R2.0 을 사용하였습니다. 자바 complier 버젼은 6.0을 사용 하였고요. 처음에 name 값을 char에서 bit varying 으로 바꾸어도 똑같네여...어쩔때는 20만 건 정도 쓰다가 Exception 이 날때도 있고 1만 건 쓰다가 오류 날때도 있네여... cubrid_broker.conf 파일은 디폴트 상태입니다.
  • ?
    손승일 2009.09.30 03:48
    내부 테스트 결과 300만건 이상 처리되는 동안에도 에러가 발생하지 않고 있습니다.
    에러 내용을 좀더 상세히 알아보기 위해 System.err.println(e.getMessage());을 e.printStackTrace();로 변경해서 결과를 알려주시기 바랍니다.
    테스트 환경이 동일한 장비에서 DB서버와 java 프로그램이 함께 작동하는 지 아니면 별개의 서버에서 리모트로 접속하는지도 알려 주세요.

  • ?
    차가워여 2009.10.01 21:05
    cubrid.jdbc.driver.CUBRIDException: Cannot communicate with the broker
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:674)
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:834)
     at cubrid.jdbc.driver.CUBRIDConnection.prepareStatement(CUBRIDConnection.java:135)

    이렇게 오류가 뜹니다.
  • ?
    2009.10.06 01:13
    위 덧글에 몇가지 추가 확인 요청드렸는데 답변을 안주셨네요. 확인 부탁드립니다.
    더불어 재현을 위해 조금이라도 특이한 사항이 있으시면 알려 주시기 바랍니다. 
    DB가 운영되는 시스템의 메모리 사양, 함께 기동되고 있는 프로그램 등.
    또한 가능하면 시스템 재부팅 후 DB서버만 기동된 상태에서의 확인도 부탁드립니다.
  • ?
    차가워여 2009.10.06 23:35
    cubrid.jdbc.driver.CUBRIDException: Cannot communicate with the broker
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:674)
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:834)
     at cubrid.jdbc.driver.CUBRIDConnection.prepareStatement(CUBRIDConnection.java:135)

    printStackTrace() 결과는 위에 상기 하였고여. 따로 리모트연결은 하지 않고 CUBRID Manager Client와 이클립스에서 소스 설명 했던 부분만 올린 상태에서 실행 했을 때의 결과 입니다. 시스템 재부팅후에 결과도 마찬가지 입니다. CONFIG쪽은 처음 CUBRID설치때와 똑같고요..
  • ?
    손승일 2009.10.08 03:16
    저희쪽에서는 여전히 재현이 안 되고 있습니다.
    혹시 다른 장비가 있으시면 동일한 테스트를 다른 장비에서 수행 보시고 결과를 알려주시기 바랍니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3974 Ado.NET : Cannot connect to CUBRID CAS 오류 2 websiter 2017.05.05 57861
3973 alias 명 한글 깨짐 2 abc12 2018.08.13 54078
3972 이전버전 제거시 오류 7 doplee 2008.11.26 53102
3971 windows CUBRID PHP module 5 우페 2008.11.25 51099
3970 더 정확히 하자면 서버실행은 되지만 Manager가 실행이;;;; 1 file GoFly 2008.11.28 49420
3969 ERROR CODE = -41, ERROR CODE = -52 1 까망이 2013.02.07 48601
3968 말도 안되는 Exception이 발생하는데 대체 뭘까요;; 8 안지민 2011.11.18 48213
3967 전자정부표준프레임워크 BLOB insert질문합니다 1 poooh 2013.10.24 47436
3966 전송 연결 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다에서 데이터를 읽을 수 없습니다. 2 바람바람 2013.03.29 42886
3965 64BIT 설치시 오류 7 씩~~ 2008.12.26 41558
3964 Cubrid 2008 srpm 공개 여부? 1 김정균 2008.12.04 41384
3963 cubrid install 후 생성되는 demodb 정보에관해 1 강서꽃미남 2012.02.08 40991
3962 ADO.NET 드라이버 집합형 데이터 지원 2 소라게 2012.02.09 39855
3961 ERD 보통 어떻게 작업하나요? 1 차오이 2011.05.04 38524
3960 asp.net 의 oledb 연동 3 webdoors 2009.01.04 38313
3959 오라클의 contains()문과 비슷한 기능을 소개해주세요 1 타이거팀 2009.02.17 36302
3958 큐브리드 버전 선택 문의 1 유니콘 2011.10.29 36237
3957 DB / PW 자릿수를 늘려주세요. 3 윤희서 2009.01.16 35846
3956 TIMESTAMP 형 data를 insert 하는 sql문이 궁금합니다. 1 yongsu9 2011.05.28 34995
3955 Mybatis로 Blob insert 문제 1 emiatej9 2013.07.25 34639
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales