IT개발(106)
-
Oracle -> Mssql 데이터 마이그레이션하기(SQL Server Migration Assistant For Oracle) 2018.04.06
-
전자정부 3.7 ibatis -> Mybatis 변환일지 2탄(oracle -> mssql 변환)
작년에 직접변환하면서 만들었던 가이드 문서이다.앞서 ibatis를 mybatis로 변경하였고, 이젠 oracle 쿼리문을 모조리 mssql 쿼리문으로 변경하였다. 1. 타입맵핑 2.1 함수 함수설명 오라클 함수명 MSSQL 함수명 Input이 NULL일 경우, 지정한 값으로 세팅한 결과를 반환 NVL ISNULL position위치에 있는 char의 문자열부터 length갯수만큼 값을 반환 SUBSTR SUBSTRING 두 문자열을 연결하여 그 결과를 반환 CONCAT or || + (단, SQL 2012버전부터 CONCAT사용가능) 문자열 길이가 N개가 되도록 왼쪽부터 지정한 문자로 채운 결과를 반환 LPAD REPLICATE('0',반복할사이즈 - LEN(숫자값|컬럼)) + CAST(숫자값|컬럼 AS..
2018.04.06 -
전자정부 3.7 ibatis -> Mybatis 변환일지 1탄
ibatis -> mybatis 변경 요약ibatisMybatis TEST = #searchCondition# AND TEST = #{searchCondition} Mybatis-config.xml 파일내에 이동하여 반드시 정의 parameterClass , resultClassparameterType , resultMap#something# , $something$#{something} , ${something}columnIndex="8“ columnIndex=“9“ columnIndex=“10“ …. 등으로 검색하여 일괄 삭제하는게 빠름 ( xml파일이 있는 폴더를 지정하여 ex) Ctrl + H => Selected Resources ) 삭제해야함. 더 이상 안씀 , 아래와 같이 맵핑을 하삼. 1...
2018.04.06 -
org.springframework.web.servlet.PageNotFound web.xml내 URL 맵핑실수...
org.springframework.web.servlet.PageNotFound 원인... 어이없게도.. URL 맵핑을 잘못잡았다... 아놔;;;;dispatcher.addMapping("*.do","*.json","/*"); -> dispatcher.addMapping("/"); 변경완료후 정상동작. 끝
2018.04.05 -
[Maven] webapp 위치 변경하기 ( /src/main/webapp -> /webapp )
목표 : /src/main/webapp -> /webapp변경사유: 클릭을 한번이라도 더줄이고 싶다.( 클릭 2번 더하는 것에 귀차니즘을 느낌 )방법 : 1. 폴더 통째로 이동하기webapp 폴더에 마우스우클릭 -> move 선택 -> 최상위 프로젝트 폴더 선택 -> 이동 완료! 2. pom.xml내 plugin 추가후, Update Maven Project (단축키: alt + f5 ) maven-war-plugin2.3webapp 3. 이클립스 설정파일 수정Open Resource(단축키 : ctrl + shift + r ) 열기, org.eclipse.wst.common.component 입력후, 파일 열기(아니면 Navigator 탭을 이용하여 /.settings/org.eclipse.wst.co..
2018.04.04 -
전자정부 3.7 버전에 JPA + Mybatis + Spring Data Rest 적용
Spring Data Rest 적용 예제 전자정부 3.7 버전에 JPA + Mybatis + Spring Data Rest 적용할때, 각 porting 한 작업순서는 아래와 같다. 1. egov3.7버전 다운 2. eGovFramee Template Project > Renewal 50 Common-Components 선택후, 템플릿 소스생성 3. 오라클 DDL,DML 실행(github 소스내 EGOV3.7_Mybatis_JPA_SpringDataRest_DDL_DML_v4.sql 참고) 4. 프로그램관리, 메뉴관리화면 추가개발(Mybatis용)완료 5. 전자정부3.5 JPA 동작소스 참고하여 적용시도 > 실패 > 원인: 라이브러리 버전충돌 > 조치: 최신버전으로 변경(egov, jpa 버전업) 및 xs..
2018.04.03 -
lombok 수동으로 실행시키기(파일연결실패로 안될때...)
JDK 경로로 찾아가서 lombok.jar ( https://projectlombok.org/download ) 파일이 있는 위치를 실행시키면 끝. C:\dev\jdk1.8.121\bin>java -jar C:\dev\eclipse-egov3.7\lombok.jar간혹 lombok을 실행하여 이클립스 지정하고 설치했는대도 vo.getter / setter을 인식못할땐, pom.xml내 dependency 확인하고, 한번 maven update 할것! (어이없게 다시 메이븐 업데이트하니 바로됨 ㅋ) org.projectlombok lombok 1.16.20 provided
2018.04.02 -
JPA 사용시, 오라클 데이터타입과 자바 타입 관계
Table 3-1 SQL and PL/SQL Data Type to Oracle and JDBC Mapping Classes SQL and PL/SQL Data Type Oracle Mapping JDBC Mapping CHAR, CHARACTER, LONG, STRING, VARCHAR, VARCHAR2 oracle.sql.CHAR java.lang.String NCHAR, NVARCHAR2 oracle.sql.NCHAR (note 1) oracle.sql.NString (note 1) NCLOB oracle.sql.NCLOB (note 1) oracle.sql.NCLOB (note 1) RAW, LONG RAW oracle.sql.RAW byte[] BINARY_INTEGER, NATURAL, NAT..
2018.03.29 -
전자정부3.7 +Mybatis + JPA 조합시, txManager -▶ transactionManager 사용
아래와 같이 txManager 가 아닌 transactionManager 란 네이밍을 사용해야합니다. JPA 내부적으로 해당이름으로 참조하기 때문입니다.
2018.03.28 -
getting error Invalid NamespaceHandler class org.springframework.data.jpa.repository.config.JpaRepositoryNameSpaceHandler
전자정부3.7 + Mybatis + JPA를 조합하려했더니 아래와 같은 오류가 뜬다...ㅠㅠ getting error Invalid NamespaceHandler class org.springframework.data.jpa.repository.config.JpaRepositoryNameSpaceHandle 일단 아래의 조합으로 해보니 해결되었다. 원인은 분석중이다... pom.xml내 org.hibernatehibernate-core4.3.11.Final org.hibernatehibernate-validator5.4.2.Final org.springframework.dataspring-data-jpa1.2.0.RELEASE context-jpa-respository.xml 파일내 참고자료 : http..
2018.03.28 -
Context initialization failed due to org.springframework.core.ResolvableTypeProvider
전자정부3.7 + Mybatis + JPA를 조합하려했더니 아래와 같은 오류가 뜬다...ㅠㅠ Context initialization failed due to org.springframework.core.ResolvableTypeProvider org.springframeworkspring-webmvc4.3.14.RELEASE 또는 org.springframeworkspring-core4.3.14.RELEASE 를 추가하니 해결되었다... 참고 자료 : https://stackoverflow.com/questions/39296487/context-initialization-failed-due-to-org-springframework-core-resolvabletypeprov/39296776#39296776
2018.03.28 -
MICROSOFT SQL SERVER MIGRATION ASSISTANT FOR ORACLE 사용시 오류사항 공유
DB마이그레이션 할것이 생겼다. Oracle -> MSSQL 로 마이그레이션 해야한다.다행히 MS에서 제공해주는 도구가 있군.어디보자~ https://www.microsoft.com/en-us/download/details.aspx?id=54258 에서MICROSOFT SQL SERVER MIGRATION ASSISTANT FOR ORACLE, V7.7 ( 이하 MS SSMA For oracle ) 설치한후, 오라클을 연동하려하니 다음과 같은 오류가 발생하네?!"System.Data.OracleClient에는 Oracle 클라이언트 소프트웨어 version 8.1.7 이상이 필요합니다." 허허 뭐지....구글링해 알아 봤더니 아래의 파일들이 있어야한단다. 그래서 서버에서 내 로컬 PC로 후다닥 복사를 했..
2018.03.20 -
Cannot find the class file for org.springframework.data.domain.Sort. Fix the build path then try building this project
오류현상Cannot find the class file for org.springframework.data.domain.Sort. Fix the build path then try building this project뿜으며 동작안함... 아놔 뭐니? 원인maven update시 jar를 다운받다가 비정상적으로 다운받은jar로 인해 제대로 된 빌드가 안되는 것이다.의심스러우면 maven install을 해봐~! 문제가 있는 jar( invalid LOC header (bad signature)가 발생한... )를 콘솔에 알려줄 것이다. 해결방법위 maven install시 참조불가한 내역을 보고 하나하나 지우면 끝 예를 들어 아래와 같은 오류가 뜰것이다.[WARNING] error reading C:\d..
2018.03.12 -
Cannot change version of project facet Dynamic Web Module to 2.5 오류
오류 발생 현상DescriptionResourcePathLocationTypeCannot change version of project facet Dynamic Web Module to 2.5.egov_all_in_oneline 1Maven Java EE Configuration ProblemOne or more constraints have not been satisfied.egov_all_in_oneline 1Maven Java EE Configuration Problem 원인 pom.xml내 사용할 서블릿 버전을 3.1로 쓰겠다고 정의해놓고, web.xml에는 2.5를 쓰겠다고 정의 해놓으니 이클립스님께서 파업을 하셨네... 메이븐 업데이트하면 알아서 바꿔주면 어디 덧나니? 해결방법web.xml 내..
2018.03.12 -
피연산자 유형 충돌: varbinary은(는) text과(와) 호환되지 않습니다.
MSSQL 오류 트러블 슈팅.......피연산자 유형 충돌: varbinary은(는) text과(와) 호환되지 않습니다........으악! 이건 대체 뭐란말이가... 으... 바쁜 나의 개발길에 꽃길은 커녕 구덩이에 빠지게 만들다니.. 아우~~~~ 오류 코드 해결 코드 public class Company { private String companyLogo; // MSSQL 에서 해당컬럼은 text 타입} public class Company { private String companyLogo = ""; // 컬럼이 text or ntext 타입경우, 빈문자열로 초기화 필요} 원인을 좀 찾아보니 아래의 의견이 있었다. null이 binary 형태의 값으로 변환되어 text 컬럼에 바인딩하려고하니 오류가 ..
2018.01.09 -
MSSQL에서 DELETE CASCADE 설정방법
출처 : https://stackoverflow.com/questions/6260688/how-do-i-use-cascade-delete-with-sql-server방법1. You will need to,Drop the existing foreign key constraint,Add a new one with the ON DELETE CASCADE setting enabled.Something like:ALTER TABLE dbo.T2 DROP CONSTRAINT FK_T1_T2 -- or whatever it's called ALTER TABLE dbo.T2 ADD CONSTRAINT FK_T1_T2_Cascade FOREIGN KEY (EmployeeID) REFERENCES dbo.T1(Employ..
2018.01.04 -
git commit & push 된거 강제 rollback 하기(원격저장소 원복)
오늘 새벽까지 개발한 버전을 commit 하고 push를 하였다. 오늘 아침에 출근해보니 팀원이 자신의 소스가 사라졌다고 한다. 불길한 예감 으... 나의 실수(잘못 revert)로 팀원의 소스를 날린 채 commit 하고 push 한 것이다. 일단 침착하게 팀원의 소스가 살아있고, 내 소스도 살아 있는 시점으로 롤백을 해야 했다. 첨에 죄송한 나머지 어떻게 해결해야할지 몰라 소스트리만 붙잡고 누르다보니 시간만 가고, 결국 찾다찾다 오전을 다 날리고서야 찾았다... 아래의 노란색 하이라이트된 명령을 통해 특정시점의 소스로 강제 push 시켰다. (단, 주의할점은 특정시점의 커밋 이후 모든 커밋들은 삭제된다.) 아래는 위의 명령어를 수행한 텍스트 결과를 붙여넣었다.( 긁어다 쓰세요 ) ecis-36@eci..
2017.11.24 -
[Mybatis] java.lang.NumberFormatException: For input string: 에러시
기존 전자정부의 ibatis를 Mybatis로 변경하면서다음과 같은 문제가 발생했다. ( 사실 변환해서 발생되는 문제는 아니었다;;; )### Error querying database. Cause: java.lang.NumberFormatException: For input string: "D"### Cause: java.lang.NumberFormatException: For input string: "D"아놔 뭔 잘못인가 봤더니 문자열로 인식하기 위해선 쌍따옴표로 감싸줘야했던 것이다! 털썩...수정-> 그게아니고 해당 현상은 myBatis의 버그가 아니라OGNL(Object Graph Navigation Language) Interpreter에 의해 홑따옴표로 감싸진 한 글자 ‘Y’를 char 형으..
2017.08.09 -
[eclipse] 에디터 창에서 블럭 선택하기
정말 간단한 이기능을 모르고 6년 넘게 몰랐던 기능이다... 2013년도에 알았으니이걸 안지도 4년이 지났군...아직도 모르는 분이 있을 것 같아 이렇게 다시 올린다. 결론 : 블럭 선택모드(해제도 동일함) : alt + shift + A PS. 생산성을 높여주는 단축키와 기능이 있음에도 귀차니즘에 한번 찾아보는걸 안한 나를 반성하며...참고로 이걸 몰랐던 시절 그 6년간 블럭 선택이 필요하면, 에디터 플러스를 왔다 갔다 하며 노가다를 했었다. 털썩... 부디 여러분들은 꼭 활용하시길...
2017.08.09 -
[eclipse] 기본 웹 브라우저 변경하기
기본적으로 이클립스에서는 내장브라우저를 띄운다.난 그저 크롬으로 띄우고 싶었다. 찾아보았더니 아래와 같이 설정하면 끝!이클립스 Window 탭 -> Preferences -> General -> Web Browser 에서New 버튼을 누른 뒤, Name : Chrome, Location : C:\Program Files (x86)\Google\Chrome\Application\chrome.exeName : FireFox, Location : C:\Program Files (x86)\Mozilla Firefox\firefox.exeName : Vivaldi, Location : C:\Users\PC사용자아이디\AppData\Local\Vivaldi\Application\vivaldi.exe Name : O..
2017.08.09