Background Image

FORUM

조회 수 14500 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 969
1162 초기비번 2 file bj 2012.02.10 8556
1161 Java VM is not running 오류 원인? 6 file 강나루소나무 2012.02.10 15521
1160 ADO.NET 드라이버 집합형 데이터 지원 2 소라게 2012.02.09 39816
1159 cubrid install 후 생성되는 demodb 정보에관해 1 강서꽃미남 2012.02.08 40861
1158 password file open error 라고 뜨면서 큐브리드 매니저 접속이 안되요 1 secret 왕꿈틀이 2012.02.08 19
1157 데이타베이스로그인시 lgat화일을 찾으면서 로그인이 안되요.. 2 본좌대바리 2012.02.07 10593
1156 Java Procedure 실행시 한글 깨짐 1 깨달음 2012.02.07 20762
1155 큐브리드용 그누보드 4.31.08 버전을 구하고 싶습니다 2 유니콘 2012.02.07 8645
1154 MS-SQL의 Stored Procedure를 Cubrid로 변환 가능할런지? 2 강나루소나무 2012.02.07 12523
1153 매니저에서 demodb가 시작하자마자 정지되는 이유는? 2 강나루소나무 2012.02.07 7777
1152 alter로 테이블 구조 변경 3 장이 2012.02.06 11458
1151 bit형 데이터타입 관련 2 소라게 2012.01.27 10620
1150 Replication, 서버 이중화, HA 2 승준77 2012.01.26 23151
1149 oracle에 count(*) over() 쿼리를 대채할 쿼리가 있을까요? 2 라분 2012.01.26 23051
» 영문검색 시 대소문자 구분 문제 6 재권 2012.01.25 14500
1147 큐브리드 2008 patch2 깔고 2 겸손한플머 2012.01.24 8917
1146 MSSQL과의 성능에 대한 비교를 알고 싶습니다 1 secret 로닥 2012.01.18 17
1145 checkdb(데이터베이스검사) 관련 질문드립니다... 2 반짝이 2012.01.10 11920
1144 HA구성에서 백업시 보관 로그 제거(lgar) 관련 문의드립니다. 2 반짝이 2012.01.09 24420
1143 CUBRID Migration Toolkit 사용시 에러 관련사항입니다. 3 file 그가가가 2012.01.03 18898
Board Pagination Prev 1 ... 107 108 109 110 111 112 113 114 115 116 ... 170 Next
/ 170

Contact Cubrid

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