본문 바로가기

MSSQL

MSSQL + UTF-8 사용하기 MS-SQL이 유니코드 지원 안하고 어쩌고 이딴거 다 뻘소리다.. 머야.. 결국 N써야 하나 어쩌나 하다가.... 최대리님이 일단 더 찾아보고 결정하라길래.. 구글 뒤적거리다가 마지막에 발견한놈이 날 살렸다 ㅡ_ㅡ jdbc 드라이버가 utf-8을 지원하는 드라이버가 있댄다 -,.- 솔직히 jdbc 도 쪼끔 의심하긴 했지만 이놈이 전부일줄은 몰랐다 -- jdbc 를 기존 ms에서 배포한 jdbc 말고, sourceforge 에서 나온 jtds 란 jdbc 로 바꿨더니 진짜 잘된다 -_- jsp 페이지에서 캐릭터셋 utf-8 로 맞춰놓고 그냥 인서트 시켜도 잘만된다 -_- 한 4일동안 맘고생 했는데... 변비 해소한 거처럼 시원한 느낌이긴한데.. 허무하다 -_-; 아래는 jtds 다운로드 페이지 http:/.. 더보기
resultset의 absolute 사용... JDBC : Scrollable ResultSet ------------------------------ Oracle JDBC 8.1.6 부터는 8.1.5에 포함되지 않았던 JDBC Specification 2.0의 기능을 포함하여 발표하였다. 새로 포함된 기능 중 Scrollable ResultSet은 그 동안 Foware Only만 제공되었던 ResultSet에 전후 이동이 가능한 기능을 제공하여 Cursor 이동의 편리함을 줄 수 있는 기능이다. Scrollable ResultSet을 사용하면 다음과 같은 method가 사용가능하다. 1) ResultSet.next() : Cursor를 다음 Row로 이동 2) ResultSet.previous() : Cursor를 이전 Row로 이동 3) Resu.. 더보기
mssql 인젝션 해킹 방법 들어가기 MS-SQL DBMS와 연동하여 데이터를 처리하는 웹 페이지가 있고, 웹 페이지에 에러 메시지 기반의 SQL Injection 취약점이 있다고 가정하자. 여기서 에러 메시지 기반 SQL Injection취약점 이라는 것은 SQL Injection 공격 코드(예, ' or 1=db_name()--)를 입력하였을때 SQL Query 구문 에러로 인하여 MS-SQL 에러 메시지가 웹 페이지가 출력되는 것을 의미한다. ' or 1=db_name()--이라는 SQL Injection 코드를 입력하였을 때, 출력되는 에러 메시지이다. nvarchar 값 'demoshop'을(를) int 데이터 형식의 열로 변환하는 중 구문 오류가 발생했습니다 위 에러 메시지의 demoshop 문자열이 핵심이다. demos.. 더보기
임시 테이블 MS SQL [[ TEMPORARY TABLE(임시 테이블) ]] 1. 설명 개발자가 DML(INSERT, UPDATE, DELETE)문을 실행한 후 트랜젝션을 종료(commit)하더라도 변경된 테이터들이 DB테이블에 저장되지 않는 테이블이다. 즉, 잠시 데이터를 저장하는 일시적 공간 2. 데이터를 유지하는 방법 (1) ON COMMIT DELETE ROWS commit문을 실행할 때 '데이터'가 없어지는 옵션 즉, 하나의 트랜젝션이 마무리될 때 함께 데이터가 없어진다. SQL> CREATE GLOBAL TEMPORARY TABLE t1( 2 id NUMBER(5), 3 salary NUMBER(10)) ON COMMIT DELETE ROWS; SQL> SELECT * FROM tab; SQL> INSERT INTO.. 더보기