이 에러를 검색해보면 대부분의 원인이 long형인 값이 int형 변수에 매칭되었기 때문인 것 같다. 그러나 나에게 나타난 에러로그는 좀 이해하기 힘들었다. Out of range value for column '컬럼명' : value 1; 워크벤치에서 검색하면 1값이 문제없이 나타나는데 웹페이지에서는 계속 에러가 나와서 이상하다 싶었다. 왜 1인데 out of range인가.... 살펴봤더니 0과 1 밖에 값을 사용하지 않는 컬럼이 VARCHAR형이었고 (Why? Why? Why?????)value과 1과 ; 사이에 저렇게 간격이 생긴 것이 탭 때문이었다. '1'이 아니라 ' 1 '이었던 셈. 데이터가 언제나 예상한 대로 등록되는 것은 아니고,DB 설계자가 꼭 내 맘 같지 않다는 것은 항상 염두해야 할 ..
출처 : https://stackoverflow.com/questions/144283/what-is-the-difference-between-varchar-and-nvarchar NVARCHAR 데이터형 컬럼은 어떠한 유니코드 데이터도 저장할 수 있다. VARCHAR 데이터형 컬럼은 8-bit 코드페이지 데이터(예: UTF-8)로 제한된다.어떤 사람들은 VARCHAR 데이터형이 공백이 없이 저장하기 때문에 이를 사용하는 편이 낫다고 생각하지만 이것이 정답은 아니다. 코드페이지가 호환되지 않는 것은 고통이고, 유니코드는 코드페이지 문제들에 대한 해결책이다. 요즘은 디스크와 메모리 가격이 저렴해졌기 때문에 더이상 코드페이지를 못쓰게 하는데 시간을 낭비할 필요가 없어졌다. 모든 현대적인 OS와 개발자 플랫폼은..
*현상 톰캣 구동을 하려고 했으나, failed라고 빨갛게 뜬다. journal -xe 명령어를 치자 아래와 같은 실패 로그가 나왔다. Failed at step EXEC spawning /etc/rc.d/init.d/tomcat: Exec for-- Subject: Process /etc/rc.d/init.d/tomcat could not be executed-- Defined-By: systemd-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel---- The process /etc/rc.d/init.d/tomcat could not be executed and failed.---- The error number return..
*현상 포스팅 하기도 부끄러운 굉장히 흔한 에러지만.... 나같은 사람을 위하여 간단하게 포스팅 한다. 이클립스에서 Run on Server를 실행시켜서 톰캣을 구동시키고자 하나 내 맘 같이 Start 하지 않고 종종 실패하는 경우가 있는데실패하는 이유로 Multiple Contexts have a path of .... 이런 구문이 뜨기도 한다. *이유 이클립스에서 프로젝트를 Run on Server로 실행시키면이클립스의 Server에서 server.xml 파일에 해당 프로젝트의 Context를 추가한다.server.xml 파일을 열고 'docBase' 단어를 검색해 보면, 이런 태그가 보인다. 여기에 Context가 등록되어 있어야 해당 사이트를 띄울 수 있는데, 가끔씩 정상적으로 tomcat을 중지..
게시판에 글을 등록 또는 수정할 때 글을 insert/update 한 후 redirect 시키는데 redirect 시키는 url이 (생성 또는 수정된) 게시글 코드를 파라미터로 포함하고 있었다. 그런데 JUNIT 테스트 코드를 작성하려니 update는 게시글 코드를 내가 미리 알 수 있지만 insert하는 경우는 insert한 후 받아오는 값이라서 테스트 할 때마다 변하고 내가 알 수 있는 방법이 없었다. 이러한 경우에 대한 해결 방법을 서칭한 결과 redirectedUrl을 사용하지 않고 정규식 표현을 이용하여 패턴에 맞는지 확인하는 방법을 사용하는 방법을 발견했다. 참고 사이트https://stackoverflow.com/questions/17834034/spring-mockmvc-redirected..
DB 에러코드인데 JUNIT 테스트 중에 발견했다. eclipse에서 나오는 에러 메시지는 Cause: java.sql.BatchUpdateException: Prepared statement needs to be re-prepared 로 나온다. 참고 사이트 https://forums.mysql.com/read.php?98,643054,643287#msg-643287 서칭하면서 발견한 이에 대한 해결방법은 table_definition_cache 값을 늘려주는 것이다. 처음에는 mariadb 설정 파일을 찾아보면서 table_definition_cache를 찾아보았는데 설정파일에서 설정하는 것이 아니라 mariadb (또는 mysql) 에서 설정해주면 된다고 처음에 썼지만 (이런 무식한... ㅠㅠ) 설..
웹 브라우저에 따라 다르게 동작해야 하는 경우, 웹 브라우저 추적을 위해서 대부분 userAgent를 사용한다. var agent = navigator.userAgent.toLowerCase(); 그런데 대부분 될 것으로 기대했던 동작이 안되는 경우는 IE이고 ㅠㅠIE에서도 버전을 따져야 하는 경우가 있다. 이런 경우에는 document.documentMode를 이용할 수 있다. var ieVer = document.documentMode; 이렇게 하면 IE인 경우 ieVer의 데이터형식이 Number로 IE 버전을 값으로 갖는다.그리고 IE가 아닌 경우에는 ieVer는 undefined가 된다.
*MySQL에서 (MySQL과) 연결된 테이블 확인하는 쿼리문 SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE engine = 'FEDERATED' *MySQL에서 (MSSQL과) 연결된 테이블 확인하는 쿼리문 SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE engine = 'CONNECT'