Background Image

FORUM

조회 수 10575 추천 수 0 댓글 18
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요...

 

오랜만에 질문 드리네요..

다름이 아니라 이번에 큐브리드 2.1에서 2.2로 업그레이드를 진행하였습니다.

 

지금 쓰는 환경이 UTF-8이라서 cubrid.conf 파일에 single_byte_compare=yes를 추가해주었습니다.

그런데 이것만 추가해주면 큐브리드 서버가 스톱을 시켜도 스톱이 안되고 프로세스를 다 죽이고 다시 기동을 시켜도

기동이 안됩니다. 결국 저 부분을 지워주고 기동 시켰더니 아무 이상 없이 구동이 됩니다.

 

이 두가지 문제가 저를 괴롭히네요...

저에게 은혜의 솔루션을 베푸소서~~ㅜ.ㅠ  

  • ?
    cubebridge 2010.06.10 19:12

    사용하시는 OS를 알려 주시기 바랍니다.(linux or windows, 32bit or 64bit)

    추가로 64bit OS를 사용하신 다면 설치하신 CUBRID가 32bit용인지 64bit용인지도 알려주시기 바랍니다.

    또한 R2.1에서 R2.2로 업그레이드한 작업 절차도 알려주세요.

    알려주시는 내용을 바탕으로 확인하여 답변 드리도록 하겠습니다.


  • ?
    지니보이 2010.06.10 19:33

    사용하는 OS는 윈도우즈2008 서버이구요 64비트입니다.

    큐브리드는 2.0때부터 64비트 버전이 문제가 있어 32비트를 써왔구요

    2.1에서 업그레이드 할 때는 아래의 순서대로 하였습니다.

     

    1. 큐브리드 2.1 삭제

    2. 큐브리드 2.2 인스톨

    3. DB파일 남김

    4. 기존 DB migrate_r22.exe로 마이그레이션

    5. single_byte_compare=yes를 cubrid.conf에 추가

  • ?
    cubebridge 2010.06.11 00:50

    보내주신 내용으로 내부 테스트를 하여 확인하였습니다.

    테스트를 진행한 장비는 windows XP 32bit장비입니다.(windows 2008 server가 호환 OS에 포함되어 있지 않습니다.)

    1. R2.1을 설치.

    2. single_byte_compare=yes를 cubrid.conf에 추가

    3. R2.1 구동 및 중단 테스트 --> 정상

    4. R2.1 삭제 --> 삭제 시 conf파일을 그대로 두도록 선택함

    5. R2.2 설치 --> 설치 시 conf파일을 그대로 사용하도록 선택함.

    6. 설치 후 migrate_r22.exe를 이용하여 작업

    7. 완료 후 R2.2에서 server구동 및 중단 테스트 --> 정상적으로 구동 및 중단 가능

    이상 테스트 결과를 알려 드립니다. 현재 사용하시는 CUBRID제품을 권장 OS(Windows XP Home 32bit, Windows XP Pro, Windows 2003, Windows Vista 32bit)에서 확인해 보실 것을 부탁드립니다.

  • ?
    지니보이 2010.06.11 02:09

    실제 서비스가 돌아가고 있는 서버가 2008서버입니다

    큐브리드 회사내에도 서버들이 있으실테니 아시겠지만 쉽게 운영체제를 바꿀 수는 없습니다.

    여러가지 서비스가 돌고 있기때문에 다 뒤집어 엎고 xp나 비스타를 설치하는 것은 불가능할 것으로 보입니다.

    2.0에서 2.1로 업그레이드 시에는 별 문제 없이 업그레이드가 되었는데 2.1에서 2.2로 업그레이드에서는 문제가 생기는 군요

    Like 검색이 안되면 업무에 지장이 많기 때문에 잘못된 결과를 리턴해주는 건 안됩니다.

     

    결국 OS.를 바꿀수는 없으니 2.1로 돌아가는 수밖에 없는 건가요

    이제껀 답변 주시던 남재우님이나 긔염듕이 막내님 혹시 솔루션이 있으면 알려주세요...

  • ?
    지니보이 2010.06.11 02:21

    헉....2.2 삭제 할 때 설정파일 보존할 건지 삭제할 건지 묻는 데서 삭제를 선택했더니 데이타베이스까지 다 날아갔네요?

  • ?
    cubebridge 2010.06.11 02:55

    windows 2008 server를 구해서 테스트를 진행하였습니다.

    2008 server에서 말씀하신 것과 동일한 작업을 진행하였으나 동일한 현상이 발생되지는 않습니다.

    모든 작업은 cmd창에서 진행을 하였습니다. 현재의 작업을 CM에서 했을 것이라 추정되어 cmd에서 DB를 구동하는 방법을 알려드리도록 하겠습니다. 확인 부탁드립니다.

    1. 모든 migration작업은 이전과 동일하게 하시기 바랍니다.

    2. migration이 완료된 후 cmd창에서 DB 구동/중지 해 주어 테스트 바랍니다.

    구동방법: cubrid server start <db_name>

    정지방법: cubrid server stop <db_name>

    위와 같이 구동 정상 여부를 확인 하신 후 덧글 부탁드립니다.

  • ?
    지니보이 2010.06.11 03:31

    원래부터 마이그레이션에는 아무 문제가 없었습니다.

    전부 삭제를 한 후에 모든 것을 다시 인스톨 하였습니다.

    마이그레이션도 하지 않은 상태에서 기본적인 demodb만 가지고 테스트해봤습니다.

    여전히 cubrid.conf 파일에 single_byte_compare=yes만 추가 해주면 에러가 발생을 하네요..

    트레이에 있는 데이타베이스 아이콘은 스타트가 된걸로 나옵니다만 실제로는 CM으로 접속이 되질 않습니다.

    lma님 말씀대로 터미널 창에서 테스트해보았습니다만 아래와 같은 에러가 발생하네요..


    C:AutoSet6ServerCUBRIDbin>cubrid server start demodb
    ini_parser: input line too long in C:AutoSet6ServerCUBRID/conf/cubrid.conf (1
    02)
    Cannot open configuration file "C:AutoSet6ServerCUBRID/conf/cubrid.conf": No
    error@ cubrid master start
    ++ cubrid master start: success
    @ cubrid server start: demodb
    ini_parser: input line too long in C:AutoSet6ServerCUBRID/conf/cubrid.conf (1
    02)
    Cannot open configuration file "C:AutoSet6ServerCUBRID/conf/cubrid.conf": No
    errorini_parser: input line too long in C:AutoSet6ServerCUBRID/conf/cubrid.co
    nf (102)
    Cannot open configuration file "C:AutoSet6ServerCUBRID/conf/cubrid.conf": No
    errorini_parser: input line too long in C:AutoSet6ServerCUBRID/conf/cubrid.co
    nf (102)
    Cannot open configuration file "C:AutoSet6ServerCUBRID/conf/cubrid.conf": No
    errorini_parser: input line too long in C:AutoSet6ServerCUBRID/conf/cubrid.co
    nf (102)
    Cannot open configuration file "C:AutoSet6ServerCUBRID/conf/cubrid.conf": No
    error++ cubrid server start: success

    C:AutoSet6ServerCUBRIDbin>

  • ?
    cubebridge 2010.06.11 03:43

    single_byte_compare=yes를 추가한 후 enter를 해서 라인을 구분해 주시기 바랍니다.

    예) ...

    java_stored_procedure=no

    single_byte_compare=yes

    <-- 공백라인 -->

    *parameter 추가 후 한줄의 여유를 준 후 cmd에서 구동 테스트를 해 주시기 바랍니다.

  • ?
    지니보이 2010.06.11 03:53

    아....됐습니다...

    이전버전의 config를 다 삭제한 상태에서 추가해주었던 거라 공백이 있었는지 몰랐었습니다.

    이상 없이 구동됩니다. 감사합니다..

    그런데요.. PHP에서 like검색을 할 때 "A.I.F."를 검색을 하면 세개의 리스트가 나와야 하는데

    두개 밖에 안나옵니다. 뒤에 점을 빼면 3개가 다 나오는 데 뒤에 점만 있으면 2개 밖에 안나오는 이유가 뭘까요?

    "A.I."로 검색해도 문제 없이 나옵니다.

    CM에서는 문제 없이 나옵니다.

  • ?
    cubebridge 2010.06.11 04:01

    migrate_r22.exe를 사용하셨다고 하셔서 conf파일은 전혀 수정을 하지 않았다고 생각했었는데 cmd에러 메시지로 원인 파악이 되었습니다. php like겁색의 경우 검색에 해당하는 칼럼의 실제 값과 구문 등의 정보를 주셨으면 합니다. 추가로 php에서 사용했던 방법 CM에서 체크 했던 방법도 같이 올려 주시면 원인 파악에 도움이 될 것 같습니다.

  • ?
    지니보이 2010.06.11 04:27 Files첨부 (1)

    아래 구문은 sql문을 에코로 받아온 것이구요

    select * from sgspocis where sp_occurdate between ? and ? AND sp_shipper like '%'||?||'%' ORDER BY sp_shipcd

     

     

    아래는 실제 검색해오는 쿼리입니다. "$STXT" 검색어가 들어가는 부분입니다.

    if ($STXT) {
     switch($SDIV) {
        case 1:
          $SRCH_QRY = " AND sp_blnum like '%'||?||'%'";
          break;
        case 2:
          $SRCH_QRY = " AND sp_shipcd like '%'||?||'%'";
          break;
        case 3:
          $SRCH_QRY = " AND sp_voyage like '%'||?||'%'";
          break;
        case 4:
          $SRCH_QRY = " AND sp_notify like '%'||?||'%' OR sp_consign like '%'||?||'%'";
          break;
        case 5:
          $SRCH_QRY = " AND sp_shipper like '%'||?||'%'";
          break;
        case 0:
          $SRCH_QRY = "";
          break;
      }
    }
    ....

    ....

    ....

     $list_qry = "select * from sgspocis where sp_occurdate between ? and ? "  . $SRCH_QRY . " ORDER BY sp_shipcd";

    $req = cubrid_prepare($con, $list_qry);
    $res = cubrid_bind($req, 1, $SDATE, "NUMERIC");
    $res = cubrid_bind($req, 2, $EDATE, "NUMERIC");
    if ($STXT){
     $res = cubrid_bind($req, 3, $STXT, "STRING");
     if ($SDIV == 4) $res = cubrid_bind($req, 4, $STXT, "STRING");
    }

     

    첨부된 파일은 CM에서 쿼리로 가져온 결과값입니다.

  • ?
    cubebridge 2010.06.11 19:36

    결과 값이 일부는 나오고 일부는 나오지 않는다고 하셨는데, .을 추가 했을 때 나오는 결과 값과 나오지 않는 결과 값을 보여주세요.

    결과 값은 CM에서의 결과값과 php에서의 결과 값을 다 보여주시기 바랍니다.

  • ?
    지니보이 2010.06.12 00:15 SECRET

    "비밀글입니다."

  • ?
    cubebridge 2010.06.12 00:34

    "A.I.F."검색했을 때 결과 값이 나오는 칼럼의 length와 나오지 않는 칼럼의 length를 비교해 주시기 바랍니다.

    확인은 CM에서 하시면 됩니다.

    *length확인 방법

    select length(customer) from <table_name> where bl번호=<bl번호>

    결과 값이 같은지 확인 바랍니다. 만약 결과 값이 다르다면 두 데이터는 보여지기는 동일하나 다른 값일 수 있습니다.


  • ?
    지니보이 2010.06.12 01:54 SECRET

    "비밀글입니다."

  • ?
    seongjoon 2010.06.12 02:54

    사용에 불편을 드려 죄송합니다.

    일단 임의의 테이블과 데이터를 만들어서 테스트를 해보았습니다.

    스키마와 입력된 데이터는 다음과 같구요.

    create table table1 (col1 int primary key, col2 date, col3 char(100));
    insert into table1 values(1, sys_date, 'A.I.F. COMPANY 501');
    insert into table1 values(5, sys_date, 'A.I.F. COMPANY 8F');
    insert into table1 values(3, sys_date, 'A.I.F. COMPANY 8F');

    소스코드는 아래와 같습니다.

    $query = "select * from table1 where col3 like '%'||?||'%' order by col1";
    $text = "A.I.F.";
    $request = cubrid_prepare($con, $query);
    $result = cubrid_bind($request, 1, $text, "STRING");

    $result = cubrid_execute($request);

    echo "query = ".$query."<br/>";

    if ($result) {
            while ($aRow = cubrid_fetch($request)) {
                    echo "col1 = ".$aRow[0].", col3 =  ".$aRow[2]."<br/>";
            }
    }

    결과는 아래와 같구요.

    query = select * from table1 where col3 like '%'||?||'%' order by col1
    col1 = 1, col3 = A.I.F. COMPANY 501
    col1 = 3, col3 = A.I.F. COMPANY 8F
    col1 = 5, col3 = A.I.F. COMPANY 8F

    일단 테스트 결과는 정상적으로 나왔습니다.

    저희쪽에서 재현에 사용할 수 있는 소스와 데이터의 일부를 주시면(문제가 되는 컬럼의 값 몇개와 DB커넥션과 바인딩, 쿼리 수행까지의 소스 일부) 재현을 해 보도록 하겠습니다.

  • ?
    지니보이 2010.06.12 03:39 SECRET

    "비밀글입니다."

  • ?
    남재우 2010.06.12 05:27 Files첨부 (1)

    안녕하세요

    올려주신 엑셀화일로 확인해 보니 데이터가 조금 차이가 있습니다.

    A.I.F 에서 F다음에 . 이 있는 것이 있고, 없는 것이 있습니다. 또한 BLDG. 다음에 공백이 1개 인것이 있고, 2개인 것이 있습니다.

    CM 에서 올려주신 소스로 검색해 보면 결과가 나오지 않습니다. A.I.F. 인 것이 4개가 있고요. 이 4개가 모두 BLDG. 과 10 사이에 공백이 2개가 있습니다. 그런데 소스상의 검색값은 공백이 1개밖에 없어 결과가 나오지 않습니다.

    오타이신지는 모르겠지만 우선 확인좀 부탁드립니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 1484
678 로그 볼륨 사이즈 문의 3 뿡뿡이당 2010.07.01 8711
677 CUBRID2008 Manager Client에서 서브쿼리 결과오류 문의드립니다. 1 아프로 2010.06.30 7996
676 cci에서 유니코드 inert 문의 입니다. 1 마준 2010.06.29 8385
675 다중 rows 를 콤마로 연결하는 방법?? 1 yoon 2010.06.22 11525
674 Date 형 쿼리 문의 1 아이시에 2010.06.21 16487
673 사용자 권한부여가 안됩니다. 1 Ele 2010.06.18 9820
672 VPN 연결된 컴퓨터에는 큐브리드메니져가 실행이 안되나요? 1 까망이 2010.06.16 9075
671 데이터 삽입 쿼리 1 지삭낭언 2010.06.15 8741
670 max_clients값이 450이상 설정되지 않습니다. 1 김현성 2010.06.14 9028
669 데이터베이스 공간 정리중 오류메시지 7 file 종이 2010.06.12 8745
668 CUBRID Manager 오류메시지 문의드립니다. 1 file Ele 2010.06.12 11807
667 cubrid.conf의 max_clients가 안늘어납니다. 4 김현성 2010.06.12 12490
666 테이블 수정 문의 1 유니콘 2010.06.10 8520
» 큐브리드 2.2로 업그레이드시 single_byte_compare문제 18 지니보이 2010.06.10 10575
664 테이블 생성 문의 1 지삭낭언 2010.06.09 9318
663 Java Stored Procedure 사용시 에러 문의드려요~ 2 file 나삐꾸 2010.06.09 12753
662 테이블의 내용 컬럼을 다른 테이블에 분리시 성능 향상 여부 5 종이 2010.06.08 12631
661 autocommit off 방법 문의 9 소라게 2010.06.08 15316
660 Cubrid Manager 오류 문의 1 jjobi 2010.06.08 19599
659 CUBRID와 PHP 연동 문제 1 Ele 2010.06.06 11371
Board Pagination Prev 1 ... 138 139 140 141 142 143 144 145 146 147 ... 176 Next
/ 176

Contact Cubrid

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