본문 바로가기

프로그래밍 언어349

[ERWin] Reverse Engineer 기능으로 오라클(Oracle)에 연결해서 자동으로 ERD 생성하기 현재 진행중인 프로젝트의 솔루션이 ERD를 제공하고는 있지만 파워포인트로 워낙 간략하게 돼 있어서 제대로 된 ERD를 만들어 달라는 요구를 받았습니다.솔루션을 설치하면 기본적으로 만들어지는 테이블이 200개가 넘는데 이걸 언제 그리나요? 그래서, 찾아보니 ERWin의 Reverse Engineer를 사용하면 오라클에 연결해서 자동으로 ERD를 그려주더라구요.이걸 다 그렸으면 적어도 2~3일은 걸렸을 것 같은데,,, 10분도 안되는 시간에 뚝딱 ERD를 만들어 버렸네요^^ 이렇게 테이블의 컬럼과 comment를 가지고 자동으로 ERD를 만들어 준답니다.그럼, 시작해 볼까요? [Tools > Reverse Engineer...]를 클릭합니다. [Logical/Physical]을 클릭하시고, 오라클 버전을 선.. 2017. 5. 22.
[오라클] Oracle에서 모든 테이블 목록 가져오는 쿼리 현재 진행하는 프로젝트는 솔루션을 가지고 작업을 하는데요.테이블이 엄청나게 많더라구요. 테이블 수를 보고 깜짝 놀랐는데...도대체 테이블 수가 몇 개나 되는지 궁금한데 어떻게 알 수 있을까요? select object_name from user_objects where object_type = 'TABLE'; -- 테이블 목록 select object_name from user_objects where object_type = ‘SEQUENCE’; -- 시퀀스 목록 이 쿼리를 사용하면 테이블 목록을 가져올 수 있답니다. 테이블 개수가 224개나 된다니... 정말 엄청나네요~ ㄷㄷㄷ 2017. 5. 22.
[오라클] PK(Primary Key)만 가져오는 Oracle 쿼리 1234567SELECT C.POSITION ,C.COLUMN_NAMEFROM USER_CONS_COLUMNS C INNER JOIN USER_CONSTRAINTS S ON C.CONSTRAINT_NAME = S.CONSTRAINT_NAME AND S.CONSTRAINT_TYPE = 'P'WHERE C.TABLE_NAME = 'SKUWC'ORDER BY 1Colored by Color Scriptercs 해당 테이블의 primary key(프라이머리 키)만 가져오는 쿼리랍니다.이 쿼리를 응용해서 DB 상의 모든 테이블의 Primary Key만 뽑을수도 있겠죠. 1234567891011121314151617181920212223242526272829303132333435363738394041WITH LIS.. 2017. 5. 12.
[오라클] 테이블정의서 자동으로 만들어주는 Oracle 쿼리 테이블정의서 자동으로 만들어주는 오라클 쿼리입니다. 12345678910111213SELECT A.TABLE_NAME AS "테이블명", A.COLUMN_NAME AS "컬럼명", A.DATA_TYPE AS "데이터타입", A.DATA_LENGTH AS "길이", A.NULLABLE AS "Null 여부", B.COMMENTS AS "Comments"FROM dba_tab_columns A, all_col_comments BWHERE A.OWNER = B.OWNERAND A.TABLE_NAME = B.TABLE_NAMEAND A.COLUMN_NAME = B.COLUMN_NAMEAND A.OWNER = 'LOTOSDEV' -- DB명ORDER BY A.TABLE_NAMEcs 이거 실행하고 엑셀로 저장하면 .. 2017. 5. 11.
[java/jsp] 자바(또는 jsp)에서 따옴표(") 치환하는 방법 DB를 읽어서 js 파일로 만들어주는 메소드를 실행하다가따옴표(")는 js에서 에러가 발생하기 때문에 \"로 치환을 해주는 구문을 작성했습니다. 모든 따옴표를 치환하기 위해 replaceAll()이라는 함수를 사용하는데,value = value.replaceAll(""", "\""); 이렇게 사용하면 에러가 발생하기 때문에따옴표 앞에 역슬러시(\)를 넣어서 아래처럼 작성을 했습니다.value = value.replaceAll("\"", "\\\""); 하지만, 이렇게 작성하니 아예 따옴표를 찾지도 못하더군요.혹시나해서 이렇게 역슬러시를 더 붙여서 해봤습니다.value = value.replaceAll("\\\"", "\\\\\""); 이렇게하니 따옴표(")가 치환이 잘 됩니다. " => \"결과적으로, .. 2017. 3. 21.
[MySQL] join 후 원하는 컬럼 update 하는 방법 MySQL에서A라는 테이블의 컬럼1을B라는 테이블과 join해서 update하고 싶은데 어떻게 해야할까요? 오라클만 사용하다가 MySQL을 쓰려니 생각대로 안되는 게 많군요 ㅠㅠupdate wp_moa_bible_mcheyne aset ever_seq_no = ( select ever_seq_no from wp_moa_bible_sort b where a.sort_name = b.name_short); update wp_moa_bible_mcheyne m, wp_moa_bible_sort s set m.ever_seq_no = s.ever_seq_no where m.sort_name = s.sort_name; 처음에 이렇게 사용해 봤는데 안되더라구요.오라클의 Merge를 이용한 update은 당연히 안될.. 2017. 2. 26.
[java] 자바에서 줄바꿈(\n) 개행문자 치환하는 방법 자바에서 줄바꿈은 \n\r로 표시가 되는데요.이걸 찾아서 공백으로 바꾸고 싶어서 이렇게 해 봤는데 잘 안되더라구요.1value = value.replaceAll("\n", " ");cs 그래서, 인터넷을 뒤져서 다음과 같이 해보니 잘 되더군요.System.getProperty("line.sepatator")가 줄바꿈 문자를 담고 있기 때문이죠.1value = value.replaceAll(System.getProperty("line.separator"), " ");cs 아래처럼 정규식 패턴을 이용해도 됩니다.\r\n 또는 \n\r 또는 \n 또는 \r을 찾아서 공백으로 치환하는 명령입니다.1value = value.replaceAll("(\r\n|\r|\n|\n\r)", " ");cs 2017. 2. 9.
[PHP] PHP Warning: feof() expects parameter 1 to be resource, boolean given in 에러 발생시 해결방법 PHP Warning: feof() expects parameter 1 to be resource, boolean given in C:\AutoSet10\public_html\wp-content\plugins\moa-bible\functions\admin_options.php on line 107 아무리 구글링해도 해결되지 않던 문제가 의외로 쉽게 해결됬습니다. 원인은 파일명에 있었네요.파일을 읽어서 한줄한줄 DB에 넣는 로직인데,,,파일명이 영어로 된 파일을 읽어보니 아무 문제없이 잘 들어가네요. 결론적으로,한글로 된 파일명을 영어로 바꿔주면 문제없이 잘 돌아갑니다. 사실 파일명이 한글로 돼 있어도 문제없이 읽어야 하는 게 맞는데그 방법은 못 찾겠습니다. 2017. 1. 19.
[php] json_encode() 함수 사용시 한글 깨지는 문제 해결방법 (PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in ) 특정 폴더에 있는 파일들을 불러와서 화면에 출력하기 위해 json_encode() 함수를 사용했습니다. 이렇게 files 폴더 아래에 4개의 파일들이 있고, 이 4개의 파일을 화면에 보여주고 싶은데... 이렇게 한글명이 들어가 있는 파일은 (null)이라고 찍힙니다.순간 당황했는데 인터넷을 뒤져서 찾았습니다. 출처 : http://bloodguy.tistory.com/entry/PHP-jsonencode-%ED%95%A0-%EB%95%8C-Invalid-UTF8-sequence-in-argument-warning 1234567891011121314151617181920212223242526class MoaJson{ private static $detect_order = 'UTF-8,EUC-KR'; pub.. 2017. 1. 15.
까페24(cafe24.com)의 호스팅 DB를 외부에서 DB툴로 접속하는 방법 까페24(cafe24.com)의 DB접속은 기본적으로 외부에서 접근할 수 없도록 차단돼 있습니다.당연히, 보안 때문이겠죠? 하지만, 까페24에서는 본인의 허락하에 외부에서 접속할 수 있는 방법을 지원하고 있답니다.접속 가능한 ip를 셋팅하는 방법으로 말이죠. 먼저, 접속하려는 자신의 컴퓨터 IP를 확인해 보세요.[윈도우 키 + R]을 눌러서 실행창을 엽니다. cmd라고 입력하고 실행하면 아래처럼 명령프롬프트 창이 나옵니다.ipconfig라고 입력하고 엔터를 치면 아래처럼 ip를 확인할 수 있는데요. 까페24에서 로그인을 하고 [나의서비스관리]로 들어갑니다. 아래쪽에 보면 [MySQL 외부 IP 접근설정]이라고 보이는데, [설정하기]를 누릅니다. DB 비밀번호를 입력하고,좀 전에 ipconfig로 확인했던.. 2017. 1. 9.
[java] poi로 엑셀 파일의 값을 읽을 때 날짜가 지수로 표시되는 문제 해결하기 엑셀 파일을 업로드하여 값을 읽을 때 셀타입 때문에 고생하는 경우가 많지요. 특히, 날짜를 입력받으면 숫자로 인식해서 값이 크다고 판단하여 2.34234234E3 뭐 이런식으로 지수로 표현되는 경우가 있는데요.이런 경우를 막기 위해 입력된 값 그대로 읽는 방법입니다. switch(cell.getCellType()){ case XSSFCell.CELL_TYPE_FORMULA: value = cell.getCellFormula(); break; case XSSFCell.CELL_TYPE_NUMERIC: // 숫자일 경우, String형으로 변경하여 값을 읽는다. cell.setCellType( HSSFCell.CELL_TYPE_STRING ); value = cell.getStringCellValue(); .. 2016. 12. 22.
[전자정부 표준프레임워크] 까페24의 jsp호스팅 사용시 오류 해결방법 (java.lang.OutOfMemoryError: GC overhead limit exceeded) 제가 http://cafe24.com에서 jsp호스팅 서비스를 이용중이고ROOT.war 파일을 올리고 톰캣 restart를 했는데 아래와 같은 오류가 납니다. java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:732) at org.apache.ca.. 2016. 12. 13.
[전자정부 표준프레임워크] 특정 페이지는 로그인 안해도 접근되도록 설정하기 전자정부 표준 프레임워크 all-in-one 템플릿을 설치해서 사용하고 있습니다.새로운 페이지를 몇 개 만들었는데 이게 설정에 걸려서인지 무조건 로그인을 해야 페이지를 볼 수가 있게 돼 있더군요.사실,,, 제가 만든 페이지들은 로그인하지 않아도 누구나 볼 수 있는 화면인데 말이죠. 그래서, 찾아보니...context-security.xml 파일이 이렇게 로그인 페이지로 보내주는 일을 하고 있더라구요. security="none" 이라고 돼 있는 부분은 보아하니 로그인 없이 들어가지더라구요.그래서, 이곳에 제가 만든 페이지들이 들어있는 폴더를 추가했습니다. 이렇게 추가하니 로그인없이 잘 들어가지네요~ 2016. 12. 8.
[전자정부 표준프레임워크] eclipse에서 project명 변경시 오류 해결 방법 ("xmlns" 속성이 "web-app" 요소에 대해 이미 지정되었습니다.) 전자정부 표준프레임워크로 개발을 하다가프로젝트 명을 바꿨는데 에러가 발생하네요. "xmlns" 속성이 "web-app" 요소에 대해 이미 지정되었습니다. 원인을 찾아보면 web.xml 파일에서 에러가 발생하고 있는데요. 마우스를 에러나는 부분에 올려보면 아래와 같은 메시지가 보입니다.Attribute "xmlns" was already specified for element "web-app". 해결방법은 간단한데요.에러나는 xmlns="..." 부분을 삭제하면 됩니다. 아마도 project 이름을 변경하면서 web.xml이 조금 수정하면서 저 부분이 추가가 된 것 같네요.이클립스 버그라고 해야 하나요?아님, Maven project 오류라고 해야 할까요? 에러가 났던 해당 라인을 삭제하니 아무 문제도 없.. 2016. 12. 8.
[오라클] trunc(SYSDATE)로 시분초가 0인 날짜만 가져오기 0시인 현재날짜의 시간을 가져오기 위해 어떻게 사용하시나요?저는 이제껏 아래와 같은 방법으로 사용을 했었는데요. TO_CHAR(trunc(SYSDATE), ‘yyyyMMddHH24miSS‘) TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, ‘yyyyMMdd’), ‘yyyyMMdd’), ‘yyyyMMddHH24miSS‘) TO_CHAR(SYSDATE, ‘yyyyMMdd‘) ||’000000‘ trunc() 함수를 사용하면 간편하게 날짜만 가져올수가 있습니다. TO_CHAR(trunc(SYSDATE), ‘yyyyMMddHH24miSS’) SELECT TO_CHAR(SYSDATE, 'yyyyMMddHH24miSS'), TO_CHAR(trunc(SYSDATE), 'yyyyMMddHH24miSS'), .. 2016. 12. 6.