Background Image

FORUM

조회 수 14810 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

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

안녕하세요. 큐브리드를 사용하여 웹서버(XE)를 운영하고 있습니다.

검색 시 한글검색 부분은 해결했는데 영문검색 시 대소문자를 구분하여 영향이 있습니다.

 

예로 대문자 P로 쓰여진 글을  소문자 p로 검색할 경우 검색 결과가 나타나지 않습니다.

또한 반대로 소문자로 쓰여진 글을 대문자로 검색 시 나타나지 않습니다.

 

초보라 그런데 수정할 구문과 수정위치를 정확하게 알려 주시면 감사하겠습니다.

 

답변 부탁드립니다. 감사합니다.

  • ?
    seongjoon 2012.01.25 08:30

    안녕하세요.

    큐브리드를 사용해 주셔서 감사합니다. 문의하신 내용에 대하여 빠른 시일 내에 확인하여 알려드리도록 노력하겠습니다.

  • ?
    이용미 2012.01.27 23:51

    안녕하세요. 질문하신 내용의 답변입니다.

     

    검색 결과에 차이가 나는 이유는 MySQL은 DB에서 대소문자를 구분하지 않고(Case insensitive), CUBRID는 대소문자를 구분하기 때문입니다. 한글 검색어에 대해서는 문제가 되지 않으나, 영문 검색어에 대해 검색 결과가 차이가 나서 불편하실 것 같은데요. 조사해보니 현재 8.4.0 버전에서는 해결방안이 없는 것 같습니다. 8.4.1 이후 버전에서 최대한 동일한 검색 결과가 나올 수 있도록 XE팀과 논의 중에 있습니다.

     

    굳이 방법을 찾는다면,

    XE 코드를 잘 아시는 분이고, DB 크기가 작아서 성능 문제가 없다면..DB검색 쿼리를 직접 수정하실 수 있겠습니다.

    select col1, col2 from tbl where col1 like a”의 경우 소문자 a만 검색 결과로 출력될 것입니다.

    그러나 이것을

    -       select col1, col2 from tbl where lcase(col1) like lcase(a)    : 소문자로 통일하여 검색(lcase lower로 대체 가능)

    -       select col1, col2 from tbl where ucase(col1) like ucase(a)  : 대문자로 통일하여 검색(ucase upper로 대체 가능)

    로 변경하여 사용하신 다면 원하시는 결과 값이 나올 것 입니다.(함수의 사용으로 인덱스를 못타게 되므로, 첫 번째 sql에 비하여 두, 세 번째 sql은 성능상의 저하가 발생할 수 있습니다.)

     

    Xe 검색 관련해서는 어느 부분을 수정해야 하고, 어떤 sql문을 수정해야 하는지는 저희가 잘 알지는 못하므로 정확한 답변을 드리기가 어렵습니다. 저희가 좀더 조사를 한 후 댓글에 남기도록 하겠습니다.
  • ?
    재권 2012.02.01 03:30

    계속 기다리던 내용이었습니다. 답변 주시니 감사드립니다. 조금 더 조사 후 수정부위를 알려 주셨으면 합니다.

    반드시 향후버전에서는 개선되었으면 합니다.

  • ?
    샤롱스판 2012.02.01 03:52

    XE후속버전에서 CUBRID 사용시 대소문자를 구분하지 않고 검색결과가 나올 수 있도록 XE팀에 요청해둔 상태입니다. XE 후속 버전이 나오면 CUBRID 8.4.1버전으로 DB 업그레이드하시면서 XE도 함께 업그레이드해주세요. 불편하실텐데 좋은 제보 감사드립니다.

    직접 수정할 코드(XE가 생성하는 SQL 검색 쿼리)는 저희가 8.4.1버전과 테스트 후에 알려 드리겠습니다.

  • ?
    seongjoon 2012.02.01 04:35

    다음 부분을 수정하니 대소문자 동시 검색이 되는군요.

    sandbox/classes/db/DB.class.php 파일에서 531번째 라인 정도에(xe버젼에 따라 다를 수 있음) 아래와 같은 문구를 변경하시면 됩니다. 단, 전체적인 테스트를 해보지는 못했으며, 검색 부분에서만 확인을 하였으므로 기존 파일은 문제가 생기면 바로 복구 가능하도록 백업을 해두셔야 됩니다.

    변경전

    case 'like_tail' :

    case 'like_prefix' :

    case 'like' :

    return $name.' like '.$value;

    break;

    변경후

    case 'like_tail' :

    case 'like_prefix' :

    return $name.' like '.$value;

    break;

    case 'like' :

    return "UPPER(".$name.") like "UPPER(".$value.")";

    break;

  • ?
    샤롱스판 2012.02.08 20:18

    대소문자 구분 검색 문제를 해결한 코드가 XE에 반영되었습니다. http://code.google.com/p/xe-core/downloads/list 에서 xe.1.5.1.6.ko.changed 파일을 다운받아 현재 응용을 업그레이드해주세요.

    또한, DB도 841버전으로 업그레이드하셔야 합니다. http://www.cubrid.com/zbxe/266178 첨부파일에 있는 릴리스 노트를 참고하시면 업그레이드 방법이 자세하게 나옵니다. 간단히 말씀드리면, 1.840 DB정지, 2. 840에 있는 *.conf파일 백업 3. 841엔진바이너리 overwrite 4. php driver 841버전으로 교체 5. 2에서 백업한 *.conf파일 overwrite 단, cubrid_broker.conf파일에 있는 CCI_DEFAULT_AUTOCOMMIT=ON으로 변경해주세요. 6. DB재시작입니다.

    php driver 841과 엔진은 ftp://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/8.4.1/  ftp://ftp.cubrid.org/CUBRID_Engine/8.4.1/ 에서 다운받을 수 있습니다.

    단, 841버전은 릴리스된지 얼마 안된 버전이라서 조만간 패치가 나올 예정입니다. 아예 엔진 패치가 나오는 시점에 작업을 진행하시는 것도 좋겠습니다. 감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 31
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4457
1773 HA 관련 복구 문의 3 반짝이 2014.03.14 6490
1772 cubrid 예약어 level 문의 드립니다 1 잘될꺼야 2014.03.14 8655
1771 HA 작동중에 testdb_nodeA/testdb_nodeB 1 알칸펠 2014.03.13 5542
1770 MYSQL LIMIT 10 OFFSET 0 을 CUBRID에서는 어떻게 바꿔야되나요 ? 2 잘될꺼야 2014.03.13 10781
1769 csql 기능 문의 1 멋쟁이인중 2014.03.13 6283
1768 큐브리드 매니저 접속 실패 3 종이 2014.03.12 10788
1767 Query Browser 쿼리질의 에러 발생 1 모냐모냐 2014.03.10 8742
1766 mssql의 linked server 와 같은 기능 관련 1 응가돌이 2014.03.06 11439
1765 VB 6.0 에서 RecordSet 명령어 오류 현상 4 secret red03410 2014.03.05 14
1764 큐브리드 DB전환, Lock 및 트랜젝션 관련 구현 문의 3 모냐모냐 2014.03.04 9142
1763 R2.2 에서 트랜잭션과 inser_id() 1 파스크란 2014.03.03 6156
1762 CUBRID 연결 오류 문의 12 red03410 2014.03.03 12498
1761 큐브리드 매니저 1 secret 쥐쥐쥐 2014.02.28 9
1760 Mysql에서 큐브리드 변환 준비 궁금사항 2 모냐모냐 2014.02.28 7656
1759 audit 기능에 대해 질문 드립니다. 1 캬캬캬 2014.02.27 7420
1758 CMT 테이블 생성시 에러 말랑 2014.02.26 5897
1757 broker error 8 쪼로롱 2014.02.26 10501
1756 broker에 대한 질문입니다. 1 secret 푸르팅팅 2014.02.25 11
1755 serial 또는 auto increment 현재값 수정 1 소라게 2014.02.25 11158
1754 ubuntu에서 cubrid 매뉴얼을 보고 설치 할 때 오류 발생 3 달려라데니얼 2014.02.25 10401
Board Pagination Prev 1 ... 107 108 109 110 111 112 113 114 115 116 ... 200 Next
/ 200

Contact Cubrid

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