IT정리노트

블로그 이미지

Edward. K

메멘토적 기억능력을 소유한 개발자 노트.

'Programming'에 해당되는 글 154건

제목 날짜
  • java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949 2021.06.16
  • [jquery] tableExport (테이블 엑셀 다운로드) 플러그인2 2021.04.01
  • 윈도우에서 특정 파일 검색하여 삭제1 2021.01.02
  • javaScript 날자 형식체크 2020.12.31
  • Drag N Drop sample 2020.10.12

java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949

Programming/JAVA 2021. 6. 16. 11:05
반응형

db select 시 아래와 같은 에러가 발생했다.
   java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949

더보기

    There was an unexpected error (type=Internal Server Error, status=500).
    Error attempting to get column 'DOC_NO' from result set. Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949 ; 
    uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949; 
    nested exception is java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
    org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column 'DOC_NO' from result set.  
    Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949    ; 
    uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949; 
    nested exception is java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
        at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)

Oracle DB의 문자셋(characterset)  방식은  'KO16MSWIN949'
  SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';

더보기

1) KO16KSC5601  * 한글자를 표현하기 위해서 2byte를 사용

      완성형 한글 방식, 일반적으로 많이 사용되며
       2350자의 한글, 4888자의 한자, 히라카나, 카타카나, 영문 및 각종 기호를 포함하고 있음

2) KO16MSWIN949  * 한글자를 표현하기 위해서 2byte를 사용
      웹 페이지 인코딩 방식인 MS949에서 따온 코드셋이라고 한다
      완성형 한글을 포함하여, 조합형까지 총 11172자의 한글을 표현

3) UTF8 / AL32UTF8  * 한글자를 표현하기 위해서 3byte를 사용
      유니코드 표준 UTF-8 인코딩 체계를 따르는 방식, 11172자의 한글을 지원
       Oracle 8i 보다 하위 버전인 경우 UTF8을 사용하며, 그 이상의 경우는 AL32UTF8을 사용한다.

 

사용하는 JDBC인    ojdbc8-21.1.0.0.jar 에서  지원하지 않는 인코딩 방식이라 에러가 발생한 것으로,
아래 방법으로 해결하면 된다.

1. orai18n.jar 다운로드  * orai18n.jar  으로 조회하여 다운로드 
      https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html

 2. orai18n.jar  라이브러리 등록합니다.
      - 프로젝트 우클릭 > 하단의 Properties 선택 


      -  Properties 에서  Java Build Path  > Libraries 탭 선택,  Add External JARs... 선택,   orai18n.jar  등록


3. 서버 재 시작, 확인.

반응형
Posted by Edward. K

[jquery] tableExport (테이블 엑셀 다운로드) 플러그인

Programming/JavaScript 2021. 4. 1. 15:08
반응형

www.npmjs.com/package/tableexport.jquery.plugin 

github.com/hhurz/tableExport.jquery.plugin

 

hhurz/tableExport.jquery.plugin

jQuery plugin to export a html table to JSON, XML, CSV, TSV, TXT, SQL, Word, Excel, PNG and PDF - hhurz/tableExport.jquery.plugin

github.com

tableExport_test.zip
0.05MB

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>tableExport Plug-in</title>
</head>
<!-- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> -->
<script src="jquery-1.12.3.min.js"></script>
<script src="tableExport.js"></script>
<script src="FileSaver.min.js"></script>
<script>

$(document).ready(function(){
	
	$("#btnExport1").on('click', function () {
		$ ('#table').tableExport({type:'excel'});
	});

	$("#btnExport2").on('click', function () {
		$('table').tableExport({type:'excel',
            excelFileFormat:'xmlss',
            worksheetName: ['Table 1','Table 2' ]});
	});
	
	$("#btnExport3").on('click', function () {
		$('#table').tableExport( 
			{type: 'excel', excelFileFormat: 'xmlss', ignoreColumn: [2,3],ignoreRow: [3,4]}
		);
	});
	//원하는 부분만 출력하게
	//ignoreColunm : [x, y], ignoreRow : [x, y]
	//x부터 y까지를 제외하고 출력한다
	
	$("#btnExport4").on('click', function () {
		$('#table2').tableExport( 
			{type:'excel'}
		);
	});
	
	$("#btnExport5").on('click', function() {
		$('#table3').tableExport( 
			{type: 'excel', 
			numbers: {output: false}, 
			excelstyles: ['background-color', 'color']}
		);
	});
	//화면과 동일한 css를 적용하고 하고싶다면 excelstyles에 원하는 css속성 이름을 적어주면 된다.
});

</script>
<style>
	body, div,  ul, ol, li, p, table, th, td,h1,h2 {margin:0; padding:0;font-size:13px; word-spacing:0;}
	table {border-collapse:collapse; border-spacing:0;}
	.revenueInfo {padding:4px; page-break-after: always; clear: both;}
	.revenueInfo table {width:100%; margin-top:4px;border-top:1px solid #c5c5c5;border-right:1px solid #c5c5c5;table-layout:fixed;word-wrap:break-word;}
	.revenueInfo table th , .revenueInfo table td {padding:8px 0 5px; border-bottom:1px solid #c5c5c5;border-left:1px solid #c5c5c5;border-right:1px solid #c5c5c5;}
	.revenueInfo table th  {font-size:12px;color: #666666; font-weight: 600;}
	.revenueInfo table caption {display:none;} 
	.revenueInfo tbody td  {background-color:rgb(242,242,242);text-align:left; padding-left: 4px; font-size: 12px;}
	.al_tot { background-color:#EDECE9;  font-weight: bold;} /*   분홍> background:#FFCBCB */
	.list_tot { background-color:#DAE7EE;  font-weight: bold;} /*  color: #FF6407;   주황> background:#FF6407,  하늘 > background:#DAE7EE */	 
	.al_c {text-align:center  !important;}
	
	/* mouse hover color */
       .mouseHover{cursor:pointer;background-color:#ffcc99 !important;}  /*  background-color:#fdf7df !important;   **/   
       
    /*  선택일 까지의 합 */ 
	.al_sum { background:#FCD0B5;  font-weight: bold;} 
	.total_layerPop {position:absolute; display:none; padding:5px; width:560px; box-sizing:Border-box; border:1px solid #202022; top: 20px; left: 20px; background-color: #fff; z-index:100;}
	.total_layerPop.on {display:block;}
	.total_layerPop table {width: 100%; margin-top: 10px; border: 1px solid #c5c5c5; table-layout: fixed; word-wrap: break-word;}
	.total_layerPop table th, .total_layerPop table td{padding: 8px 0 5px; border-bottom: 1px solid #c5c5c5; border-left: 1px solid #c5c5c5; border-right: 1px solid #c5c5c5;}
	.total_layerPop table th {background-color:#eae9e9;}
	.total_layerPop table td {padding-right:4px; text-align:right; border-bottom:1px solid #c5c5c5;}
	.btn		{ background-color: #2E6E9E; color: white; padding: 3px 15px 3px 15px; border: 0px; border-radius: 3px; cursor: pointer;}
	
	.table-striped > tbody > tr:nth-child(2n+1) > td {background-color: #ccdf88;}
	
</style>
<body>
<div class="revenueInfo">
	<table id="table">
		<thead>
			<tr id="inflowTable1">      <th>PC/MO</th>      <th>유입경로</th>      <th>페이지</th>      <th>페이지 상세</th>      <th>접속 건수</th>			</tr>
		</thead>
		<tbody id="inflowTable2">
			<tr class="">      <td class="al_c">PC</td>      <td class="al_c">eknote</td>      <td class="al_c">공지사항</td>       <td class="">남동산업</td><td class="al_c">1</td>			</tr>
			<tr class="">      <td class="al_c">PC</td>      <td class="al_c">eknote</td>      <td class="al_c">메인페이지</td>      <td class=""></td>      <td class="al_c">4</td>			</tr>
			<tr class="">      <td class="al_c">Mobile</td>      <td class="al_c">eknote</td>      <td class="al_c">Season</td>      <td class="">뽀삐뽀삐</td>      <td class="al_c">1</td>			</tr>
			<tr class="">      <td class="al_c">Mobile</td>      <td class="al_c">eknote</td>      <td class="al_c">메인페이지</td>      <td class=""></td>      <td class="al_c">2</td>			</tr>
		</tbody>
	</table>
</div>
<div class="revenueInfo">
	<table>
		<thead>
			<tr id="inflowTable1">      <th>PC/MO</th>      <th>유입경로</th>      <th>페이지</th>			</tr>
		</thead>
		<tbody id="inflowTable2">
			<tr class="">      <td class="al_c">PC</td>      <td class="al_c">eknote</td>      <td class="al_c">공지사항</td>			</tr>
			<tr class="">      <td class="al_c">PC</td>      <td class="al_c">eknote</td>      <td class="al_c">메인페이지</td>			</tr>
			<tr class="">      <td class="al_c">Mobile</td>      <td class="al_c">eknote</td>      <td class="al_c">Season</td>			</tr>
			<tr class="">      <td class="al_c">Mobile</td>      <td class="al_c">eknote</td>      <td class="al_c">메인페이지</td>			</tr>
		</tbody>
	</table>
</div>
<div class="revenueInfo">
	<table id="table2">
		<thead>
			<tr id="inflowTable1">      <th>PC/MO</th>      <th>유입경로</th>			</tr>
		</thead>
		<tbody id="inflowTable2">
			<tr class="">      <td colspan="2" class="al_c">PC</td>			</tr>
			<tr class="">      <td class="al_c">PC</td>      <td class="al_c">eknote</td>			</tr>
		</tbody>
	</table>
</div>
<div class="revenueInfo">
	<table class="table-striped" id="table3">
	      <thead>
	      <tr>      <th>PC/MO</th>      <th>유입경로</th>	      </tr>
	      </thead>
	      <tbody>
	      <tr>      <td class="al_c">Mobile</td>      <td class="al_c">eknote</td>	      </tr>
	      <tr>      <td class="al_c">PC</td>      <td class="al_c">eknote</td>	      </tr>
	      <tr>      <td class="al_c">Mobile</td>      <td class="al_c">eknote</td>	      </tr>
	      </tbody>
	</table>
</div>
<input type="button" value="기본 엑셀다운로드" class="btn" id="btnExport1" title="기본 엑셀다운로드"/>
<input type="button" value="테이블 2개 이상 엑셀다운" class="btn" id="btnExport2" title="테이블 2개 이상 엑셀다운"/>
<input type="button" value="원하는부분만 엑셀다운" class="btn" id="btnExport3" title="원하는부분만 엑셀다운"/>
<input type="button" value="rowspan테이블 엑셀다운" class="btn" id="btnExport4" title="rowspan테이블 엑셀다운"/>
<input type="button" value="스타일적용 엑셀다운" class="btn" id="btnExport5" title="스타일적용 엑셀다운"/>
</body>
</html>

 

* P.S.  모든 파일 포멧 다운로드

www.jqueryscript.net/demo/Exporting-Html-Tables-To-CSV-XLS-XLSX-Text-TableExport/ 

반응형
Posted by Edward. K

윈도우에서 특정 파일 검색하여 삭제

Programming 2021. 1. 2. 10:16
반응형

윈도우에서 CMD를 명령어로 특정 파일 지우기

구글포토로부터 사진을 다운받아서정리중인데..
동일 파일들이 여러개의 zip파일에 나누어서 다운받아 졌다..
  aaa.jpg
  aaa(1).jpg  
  aaa(2).jpg
왜 이렇게 된건지 모르겠으나..  ( 핸드폰 변경하면서 그런건가..-_- 메모리칩 옮기면서 다시 새걸로 인식???)
중복된 사진파일을 삭제할 이유가 생겻다..

  del /s "*.sh    -- .sh 로 끝나는 파일하위폴더 포함하여  삭제
  del /s "*.crypt


중복된 파일인 (1), (2) 등의 파일을 아래과같은 명령어로 삭제
    사진경로\del /s "*(1)*
    -> 사진경로상의 파일중 (1) 이 포함된 모든 파일(하위 디렉토리 포함)을 삭제하겠다.

DEL 명령어의 기본적인 사용법
 del [/p] [/f] [/s] [/q]
    /p : 파일을 삭제하기 전에 삭제를 확인하는 메세지를 표시합니다. 
    /f : 읽기전용 파일도 삭제합니다. 
    /s : 모든 하위 디렉터리에서 파일을 삭제합니다. 
    /q : 파일을 삭제할 것인지 묻는 메세지를 표시하지 않습니다.

 

반응형
Posted by Edward. K

javaScript 날자 형식체크

Programming/JavaScript 2020. 12. 31. 12:03
반응형

- 입력형식 : YYYYMMDD , YYYY/MM/DD , YYYY-MM-DD
- 결과 : 0(날자형식), 1(날자형식 아님)

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <title>JS Data Chaek</title>
 </head>
 <body>
  <script type="text/javascript">
  <!--
    var yyyymmdd = '20201231';
    alert('yyyymmdd : '+yyyymmdd +  '   >  isDate = ' +isDate(yyyymmdd)       );

    yyyymmdd = '2020-12-31';
    alert('yyyymmdd : '+yyyymmdd +  '   >  isDate = ' +isDate(yyyymmdd)       );

    yyyymmdd = '2020/12/31'; 
    alert('yyyymmdd : '+yyyymmdd +  '   >  isDate = ' +isDate(yyyymmdd)       );
     
    yyyymmdd = '00201231';
    alert('yyyymmdd : '+yyyymmdd +  '   >  isDate = ' +isDate(yyyymmdd)       );

    yyyymmdd = '20201331';
    alert('yyyymmdd : '+yyyymmdd +  '   >  isDate = ' +isDate(yyyymmdd)       );

    yyyymmdd = '20201232';
    alert('yyyymmdd : '+yyyymmdd +  '   >  isDate = ' +isDate(yyyymmdd)       );

     /*
      * 날자 입력 제한 형식  " YYYYMMDD, YYYY-MM-DD, YYYY/MM/DD 
      *  return  > 0: 정상, 1: 날자형식 아님.
      */
    function isDate(yyyymmdd) {

        var yy, mm, dd, splitStr = '-';

        // 8자리로 입력된 경우, 
        if (yyyymmdd.length == 8) 
        {
            if (!yyyymmdd.match(/[0-9]{8}/g)) 
            {
                alert('is not date');
                return 1;    // 입력값 오류
            }
            yy = yyyymmdd.substring(0, 4);
            mm = yyyymmdd.substring(4, 6);
            dd = yyyymmdd.substring(6, 8);
        } 
        // 10자리 입력
        else if (yyyymmdd.length == 10) 
        {
            if (!yyyymmdd.match(/[0-9]{4}[-/][0-9]{2}[-/][0-9]{2}/g))
            {
                alert('is not date');
                return 1;    // 입력값 오류
            }

            if(yyyymmdd.indexOf('/')>0)  splitStr = '/';

            yy = yyyymmdd.split(splitStr)[0];
            mm = yyyymmdd.split(splitStr)[1];
            dd = yyyymmdd.split(splitStr)[2];
        }
        // 그외 .  입력형식 에러   YYYYMMDD, YYYY-MM-DD, YYYY/MM/DD  형태만가능 
        else
        {
            return 1;
        }
        
        // 1000년 이하인 경우 에러처리  
        if(eval(yy)<1000)
        {
            alert('is not year');
            return 1;    // 입력값 오류
        }

        // 해당월이 1보다 작거나 12보다 큰 겨우.
        if (eval(mm) < 1 || eval(mm) > 12)
        {
            alert('is not month');
            return 1;
        }

        // 해당월의 마지막 날자 
        var limit_day;
        switch (eval(mm))
        {
            case 2:
                if ((yy - 2008) % 4 == 0) limit_day = 29;
                else limit_day = 28;
                break;
            case 4:        case 6:        case 9:        case 11:
                limit_day = 30;
                break;
            default:  // 1 ,3, 5, 7, 8, 10, 12
                limit_day = 31;
                break;
        }
        // 해당월의 날자 초과  하거나, 해당일의 수가 1보다 작은 경우
        if (eval(dd) > limit_day || eval(dd) < 1)
        {
            alert('is not day');
            return 1;
        }
        return 0;
    } 
  //-->
  </script>
 </body>
</html>
반응형
Posted by Edward. K

Drag N Drop sample

Programming/JavaScript 2020. 10. 12. 13:21
반응형

jeasyui

jeasyui-dd-shopping.zip
0.14MB

Jquery UI 

jquery_dd_cart.zip
0.05MB

 

 

 

반응형
Posted by Edward. K
이전페이지 다음페이지
블로그 이미지

메멘토적 기억능력을 소유한 개발자 노트.

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • Graphic
  • 개한민국
  • 색상코드표
  • toad
  • rocketdock
  • 가상화폐무료
  • tomcat
  • ERwin
  • Flash Player
  • android
  • 이클립스
  • EditPlus
  • EkNote
  • iBATIS
  • STS
  • 컴퓨터 관리
  • flex
  • Eclipse
  • netbeans
  • 중독성게임
  • egov
  • 전자정부프레임워크
  • 이미지 편집
  • 사업 이야기
  • Jboss
  • eclipse plugin
  • 캡쳐툴
  • 미네르바
  • sqlgate
  • 플래시 게임

글 보관함

«   2025/12   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

링크

카테고리

분류 전체보기 (792)
행운이와함께 (1)
EkNote Project (18)
ARIS (0)
Android (2)
LINK (39)
UML (9)
Programming (154)
Cobol (0)
ASP (0)
CSS (5)
C_C++ (2)
IBatis (2)
JSP (3)
JAVA (76)
JavaScript (44)
PHP (2)
Utility (76)
Protable (3)
MobileProgram (4)
SKT (0)
KTF (0)
LGT (0)
자료들 (4)
DB (82)
mongoDB (0)
MySQL (8)
Oracle (61)
MSSQL (4)
Graphic (8)
Flash (3)
PhotoShop (3)
SourceFactory (4)
Collection (73)
작가의기막힌상상력 (14)
미소를찾아보는공간 (44)
내심장은작동중일까 (6)
멀더와스컬리의노트 (3)
이건어디에사용할까 (6)
Edward (275)
나만 알기엔 아까워 (100)
기억하기 위한 기록 (123)
시선이 머무는 공간 (50)
숨기고 싶은 이야기 (2)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
Edward. K's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

IT정리노트

메멘토적 기억능력을 소유한 개발자 노트.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (792)
    • 행운이와함께 (1)
    • EkNote Project (18)
    • ARIS (0)
    • Android (2)
    • LINK (39)
    • UML (9)
    • Programming (154)
      • Cobol (0)
      • ASP (0)
      • CSS (5)
      • C_C++ (2)
      • IBatis (2)
      • JSP (3)
      • JAVA (76)
      • JavaScript (44)
      • PHP (2)
    • Utility (76)
      • Protable (3)
    • MobileProgram (4)
      • SKT (0)
      • KTF (0)
      • LGT (0)
      • 자료들 (4)
    • DB (82)
      • mongoDB (0)
      • MySQL (8)
      • Oracle (61)
      • MSSQL (4)
    • Graphic (8)
      • Flash (3)
      • PhotoShop (3)
    • SourceFactory (4)
    • Collection (73)
      • 작가의기막힌상상력 (14)
      • 미소를찾아보는공간 (44)
      • 내심장은작동중일까 (6)
      • 멀더와스컬리의노트 (3)
      • 이건어디에사용할까 (6)
    • Edward (275)
      • 나만 알기엔 아까워 (100)
      • 기억하기 위한 기록 (123)
      • 시선이 머무는 공간 (50)
      • 숨기고 싶은 이야기 (2)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바