SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES Meta 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

Similar documents
Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

10.ppt

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Template

슬라이드 1

- 다음은 Statement 객체를사용해서삽입 (insert) 작업의예 String sql = "insert into member(code, name, id, pwd, age) values ("; int id = 10; sql = sql + id +, ;// 항목사이에

PowerPoint 프레젠테이션

단계

.

개발문서 Oracle - Clob

Microsoft Word - src.doc

PowerPoint 프레젠테이션

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

게임 기획서 표준양식 연구보고서

JMF2_심빈구.PDF

Windows 8에서 BioStar 1 설치하기

J2EE Concepts

C++ Programming

MySQL-.. 1

윈도우시스템프로그래밍

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

arcplan Enterprise 6 Charting Facelifts

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

메뉴얼41페이지-2

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

서현수

歯JavaExceptionHandling.PDF

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

제 2 장 기본 사용법

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

JDBC 소개및설치 Database Laboratory

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

DocsPin_Korean.pages

4S 1차년도 평가 발표자료

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

윈도우시스템프로그래밍

로거 자료실

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Studuino소프트웨어 설치

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

슬라이드 제목 없음

슬라이드 1

Spring Boot/JDBC JdbcTemplate/CRUD 예제

준비사항 } 실습조건 } MS-SQL Server 에연결가능한컴퓨터 } 실습용서버혹은별도의 MS-SQL 서버 } Northwind 데이터베이스 } MS-SQL 2000 에제공되는예제데이터베이스 } MS-SQL 2008 에는 Northwind 가기본으로제공되지않기때문에실

PowerPoint 프레젠테이션

PowerPoint Presentation

View Licenses and Services (customer)

Analyze Connection Failover Options.ppt

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Install stm32cubemx and st-link utility

교육2 ? 그림

슬라이드 1

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Endpoint Protector - Active Directory Deployment Guide

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

Admin Guide for dummy

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

FileMaker ODBC and JDBC Guide

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft PowerPoint - 10Àå.ppt

JAVA PROGRAMMING 실습 08.다형성

DBMS & SQL Server Installation Database Laboratory

14-Servlet

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

tiawPlot ac 사용방법

1217 WebTrafMon II

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft PowerPoint - 18-DataSource.ppt

PowerPoint 프레젠테이션

JMF3_심빈구.PDF

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint 프레젠테이션

FileMaker 15 ODBC 및 JDBC 설명서

SBR-100S User Manual

FD¾ØÅÍÇÁ¶óÀÌÁî(Àå¹Ù²Þ)-ÀÛ¾÷Áß

PowerPoint Presentation

Microsoft PowerPoint - aj-lecture5.ppt [호환 모드]

PowerPoint Presentation

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

IBM blue-and-white template

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

uFOCS

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Chapter 1

PowerPoint 프레젠테이션

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

웹의 뼈대, HTML

ALTIBASE 사용자가이드 Templete

JTable과 MVC(Model-View-Controller) 구조 - 모델-뷰-컨트롤러구조는데이터의저장과접근에대한제공은모델이담당하고, 화면표시는뷰, 이벤트의처리는컨트롤러가하도록각역할을구분한구조이다. 즉, 역할의분담을통하여상호간의영향을최소화하고각요소의독립성을보장하여독자

rmi_박준용_final.PDF

Transcription:

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES Meta 연동가이드 2012.10.04 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved

목차 1 장 : Meta 개요... 3 메타개요... 3 메타연계방법... 4 메타연동구조... 5 XFrame 메타연동구조... 5 외부메타솔루션연동구조... 6 2 장 : Meta 사용방법... 7 메타환경설정... 7 환경설정세부내용... 8 메타데이터적용... 10 메타데이터적용속성... 12 메타데이터관리... 13 3 장 : 외부메타솔루션연동...15 Meta.jsp 개요... 15 실행환경... 16 Meta.jsp 샘플소스... 17-2 -

1 장 : Meta 개요 이장에서는 XFrameDevStudio 에서제공하는 Meta 기능및외부메타솔루션과의연동처리에대해서 기술합니다. 이장에서기술하는내용은아래와같습니다. 메타개요 메타연계방법 메타연동구조 메타개요 메타 (Meta) 란화면개발시항목에대한속성 ( 이름, 최대길이등등 ) 에대한표준화된정의를제공하는기능을말한다. 메타기능을사용함으로써다음과같은장점을얻을수있다. 항목이름에대한표준한된명명규칙준수 항목속성에대한표준화된속성반영 소스개발및소스분석이일관된명명체계유지 - 3 -

메타연계방법 XFrameDevStudio 는아래의표와같이두가지메타연계방법을지원한다. 구분 XFrame 메타외부메타솔루션연동 개요메타데이터관리메타데이터범위메타데이터위치기타적용사례 XFrameDevStudio 에서자체적으로제공하는메타데이터를이용하는방법 XFrameDevStudio 에서제공하는기능을이용하여메타데이터의등록 / 수정 / 삭제처리를수행함 XFrameDevStudio 에서사용하는메타속성에해당하는데이터만제공함 메타데이터는 XFrameDevStudio 에서사용하는데이터베이스내에존재함 XFrameDevStudio 이외에는메타데이터를사용할수없음 고객사에서메타솔루션보유하고있지않은경우 XFrameDevStudio에서외부메타솔루션에서제공하는메타데이터를이용하는방법 외부메타솔루션에서제공하는기능을이용하여메타데이터의등록 / 수정 / 삭제처리를수행함 XFrameDevStudio에서사용하는메타속성이외에도다양한데이터및기능을제공함 메타데이터는외부메타솔루션이사용하는데이터베이스내에존재함 XFrameDevStudio에서외부메타솔루션을연동하기위한 Web 서비스에대한커스트마이징이필요함. 고객사에서메타솔루션을보유하고있는경우 - 4 -

메타연동구조 XFrame 메타연동구조 XFrame 메타연동구조는아래의그림과같다. 구분 1 2 설명 XFrameDevStudio 에서 XFrameDevStudio DB의메타테이블의내용을조회하여 UI 콘트롤의속성을설정한다. XFrameDevStudio 에서 XFrameDevStudio DB의메타테이블의내용을조회 / 등록 / 수정 / 삭제작업을수행한다. - 5 -

외부메타솔루션연동구조 외부메타솔루션을연동하는구조는아래의그림과같다. XFrameDevStudio XFrameAdmin 조회 Meta.jsp < 메타조회창 > 조회 < 메타관리창 > 조회 / 등록 / 수정 / 삭제 메타테이블 외부메타솔루션 UI 외부메타솔루션 DB 구분 1 2 3 설명 XFrameDevStudio 에서 XFrameDevStudio DB의메타테이블의내용을조회하여 UI 콘트롤의속성을설정한다. 조회시 XFrameAdmin의 Meta.jsp를호출한다. Meta.jsp는외부메타솔루션의메타테이블의내용을조회하여, XFrameDevStudio 에게조회된내용을전달한다. 외부메타솔루션 UI의메타관리창에서외부메타솔루션의 DB의메타테이블의내용을조회 / 등록 / 수정 / 삭제작업을수행한다. - 6 -

2 장 : Meta 사용방법 이장에서는 XFrameDevStudio 에서제공하는 Meta 기능을사용하는방법에대하여기술합니다. 이장에서 기술하는내용은아래와같습니다. 메타환경설정 메타데이터적용 메타데이터관리 메타환경설정 XFrameDevStudio 에서메타데이터를사용하기위해서는환경설정이필요하다. 메타관련환경설정은 도구 옵션 메뉴를선택하여, 아래의그림과같이맨오른쪽에있는 기타 탭에서 설정한다. - 7 -

환경설정세부내용 메타관련환경설정과관련된세부내용은아래와같다. 구분메타데이터사용서비스사용서비스 URL 서비스 URL을 UTF-8로인코딩 TEXT 속성에적용메타데이터접두어사용 설명 XFrameDevStudio 에서메타데이터사용여부를결정한다. 체크가되어있지않으면, 다른메타관련속성을적용되지않는다. 메타데이터를사용하기위해서는반드시체크되야한다. 메타데이터조회시외부메타솔루션을연동하는경우에체크한다. 서비스사용을체크하는경우에는서비스 URL을반드시지정해야한다. XFrameDevStudio 에서제공하는메타데이터를사용하는경우에는체크하지않는다. 외부메타솔루션의메타데이터를조회하기위한 URL을지정한다. 외부메타솔루션의메타데이터를조회하는 URL을호출할경우, URL을 UTF-8 방식으로인코딩여부를결정한다. 서비스 URL이서비스되는 WAS(Web Application Server) 가 UTF-8 방식으로파라미터를처리하는경우에체크한다. UI 콘트롤중에 TEXT 콘트롤에도메타사용여부를결정한다. 체크되어있는경우에는, TEXT 콘트롤의 TEXT 속성에도메타에서조회된데이터가적용된다. 메타데이터를조회한정보에각콘트롤유형별로접두어를사용할지여부를결정하며, 접두어사용시 접두어등록 버튼을클릭하여, UI 콘트롤별로사용할접두어를등록해야한다. 접두어등록은각프로젝트의네이밍규칙에따라설정된다. 접두어등록을통해서설정된내용은 XFrameDevStudio 설치디렉토리의 config 디렉토리에있는 OptionConfig.ini 파일에기록되며, 네이밍표준담당자가해당정보를설정하여, OptionConfig.ini 파일을배포하는방식으로방영된다. 외부메타솔루션을연동하는경우, 접두어를적용하는다른방법은서비스 URL 에해당하는 JSP 파일에서접두어처리를수행하는방법도있다. 외부메타솔루션을연동하는경우, 접두어처리는서비스 URL에해당하는 JSP 파일에서처리하는것을권고한다. - 8 -

접두어등록창 메타데이터사용관련환경설정에서 메타데이터접두어사용 을체크한경우, 접두어등록 버튼을 클릭하면, 아래의그림과같은창이표시된다. 각 UI 오브젝트별로접두어를설정한이후에 저장 버튼을클릭하면, 설정된내용이저장되며, 이후에메타 데이터조회후적용시해당접두어가 name 속성에반영된다. - 9 -

메타데이터적용 메타데이터적용은 UI 콘트롤의속성중에 name 속성을클릭하면아래의그림과같은창이표시된다. - 10 -

name 속성의우측에표시되는 버튼을클릭하면아래의그림과같은메타데이터조회창이표시된다. 구분 1 2 3 4 설명 메타데이터조회시검색조건에대한정보를설정하는부분이다. 2번항목에입력된메타데이터조회값을기준으로 영문명, 한글명 으로검색여부와검색시검색에대한 LIKE 조건을지정하는부분이다. 메타데이터조회값을입력하는부분이다. 선택된데이터속성반영 체크박스는 3번항목에조회된메타데이터의속성을 UI 콘트롤의속성에지정할지를결정한다. 선택된데이터속성반영 체크를해제하면, 조회된메타데이터의 name 속성에만반영된다. 조회된메타데이터의결과를표시하는부분이다. 조회된메타데이터의레코드를더블클릭하면, 하단의 확인 버튼을누른것과같은효과를나타낸다. 메타데이터의조회결과가없거나, 메타데이터와관련없는항목을 UI 콘트롤 ( 예 : 버튼 ) 에대해서영문명을직접입력하여적용하는부분이다. 메타를사용해야하는콘트롤인경우에는직접입력부분을사용하지않는권고한다. - 11 -

메타데이터적용속성 메타조회를통해사용자가메타데이터를선택하면, 선택된데이터속성반영 이체크되어있는경우, 아래의 표와같이 UI 콘트롤의속성에반영된다. 구분영문명한글명길이소수점이하 설명 UI 콘트롤의 name 속성에반영된다. 그리드의칼럼인경우, 칼럼의데이터부에대한 name 속성에반영된다. UI 콘트롤의 description 속성에반영된다. 그리드의칼럼인경우, 칼럼의데이터부에대한 description 속성에반영된다. 텍스트또는라벨콘트롤인경우, description 과 text 속성에반영된다. UI 콘트롤의 max_length 속성에반영된다. 그리드의칼럼인경우, 칼럼의데이터부에대한 max_length 속성에반영된다. 숫자필드인경우, places 속성에반영된다. 그리드의칼럼인경우, 칼럼의데이터부에대한 max_length 속성에반영된다. - 12 -

메타데이터관리 메타데이터를 XFrameDevStudio 에서제공하는메타데이터를사용하는경우에, 도구 메타데이터등록 메뉴를통해서메타데이터에대한관리를수행한다. 외부메타솔루션을사용하는경우에는사용되지않는다. 구분 1 설명 XFrameDevStudio 에등록되어있는메타테이터를조회하는기능을수행한다. 메타데이터항목에빈값으로입력하면, 전체데이터를조회한다. 메타데이터항목에값을입력하면영문명을기준으로값을조회한다.. 2 조회된메타데이터값을표시부분이다. 3 메타데이터에대한각항목을표시하는부분이다. 2 번항목에서조회된레코드를클릭하며, 해당레코드의내용이표시된다. - 13 -

4 3 번항목에표시된데이터에대하여메타데이터를등록, 수정, 삭제하는기능을수행한다. 메타데이터파일추출 버튼을클릭하면, 현재조회된데이터를 CSV 파일형식의텍스트파 일로추출한다. - 14 -

3 장 : 외부메타솔루션연동 이장에서는 XFrameDevStudio 에서외부메타솔루션에서제공하는메타데이터를연동시사용되는 Meta.jsp 파일에대해서기술합니다. 이장에서기술하는내용은아래와같습니다. Meta.jsp 개요및실행환경 Meta.jsp 샘플소스 Meta.jsp 개요 Meta.jsp 는 XFrameDevStudio 와외부메타솔루션의데이터베이스간의중계역할을수행하며, 다음과같은세부기능을수행한다. XFrameDevStudio 의메타조회창에서발생한 Request 처리 외부메타솔루션의 DB에접속 외부메타솔루션의메타데이터에대한쿼리수행 쿼리수행결과를 XFrameDevStudio에가공하여전달 XFrameDevStudio 에서외부메타솔루션을사용하기위해서는메타데이터관련환경설정부분에서 메타 데이터사용, 서비스사용, 서비스 URL 이설정되어있어야한다. - 15 -

실행환경 Meta.jsp 파일이실행되기위해서는 XFrameAdmin 이실행되는곳과같이, JSP 파일을서비스할수있는 WAS 가필요하다. 아래의표는 Meta.jsp 파일이실행되기위한정보를정리한것이다. 구분 WAS JDBC Library DB Name DB 접속포트 DB User ID 및 Passord 테이블 Layout 설명 J2EE 1.4 이상스펙을만족하는 Web Application Server 외부메타솔루션이사용하는데이터베이스에접속하기위한, JDBC 라이브러리. JDBC 라이브러리는데이터베이스의종류및버전에따라준비해아하며, 라이브러리가클래스패스경로에포함되어있어야한다. 외부메타솔루션이사용하는데이터베이스의이름 외부메타솔루션이사용하는데이터베이스에접속하기위한네트워크포트번호 외부메타솔루션이사용하는데이터베이스에접속하기위한사용자 ID 및패스워드 외부메타솔루션이관리하는메타데이터테이블의 Layout - 16 -

Meta.jsp 샘플소스 아래의 Meta.jsp 샘플소스는외부메타솔루션이사용하는데이터베이스가오라클인경우를가정하고작성된 것이다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 <%@ page import="java.sql.*" contenttype="text/html;charset=euc-kr"%> <% final String FIELD_DEL = String.valueOf((char)0x01); // 필드구분자 final String RECORD_DEL = String.valueOf((char)0x02); // 레코드구분자 final String DATA_DEL = String.valueOf((char)0x03); // 데이터시작, 끝 final String DB_SUCCESS = "1"; final String DB_FAIL = "0"; // 검색조건데이터 String metavalue = request.getparameter("value") == null? "" : request.getparameter("value"); // '0' : 영문명, '1' : 한글명 String searchtype = request.getparameter("type") == null? "" : request.getparameter("type"); //'0' : 검색 %, '1' : % 검색 %, '2' : % 검색, '3' : 검색 String liketype = request.getparameter("liketype") == null? "" : request.getparameter("liketype"); // xframe Control Type String controltype = request.getparameter("controltype") == null? "" : request.getparameter("controltype"); if(metavalue.equals("")) { out.println(data_del + DB_FAIL + FIELD_DEL + metavalue + " 메타데이터검색어를입력하지않으셨습니다." + DATA_DEL); return; if(searchtype.equals("")) { out.println(data_del + DB_FAIL + FIELD_DEL + searchtype + " 검색방식을입력하지않으셨습니다." + DATA_DEL); return; if(liketype.equals("")) { out.println(data_del + DB_FAIL + FIELD_DEL + searchtype + " 검색방식을입력하지않으셨습니다." + DATA_DEL); return; Connection conn = null; Statement stmt = null; ResultSet rs = null; - 17 -

47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 PreparedStatement prep = null; try { // 아래의부부에메타접속 IP, 포트, SID, 사용자 ID, Password 값을설정해야합니다. String DB_URL = "jdbc:oracle:thin:@172.20.76.164:1521:metadb"; String DB_USER = "meta_db_id"; String DB_PASSWORD = "meta_db_password"; String DRIVER_CLASS_NAME = "oracle.jdbc.driver.oracledriver"; // JDBC Driver Load Class.forName(DRIVER_CLASS_NAME); // Get DB Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); // Create Prepared Statement stmt = conn.createstatement(); // Make Query // Column : ENGLISH_NAME, KOREAN_NAME, DATA_LENGTH, DATA_SCALE StringBuffer metaquery = new StringBuffer(); metaquery.append("select "); metaquery.append(" OBJ_ENM, OBJ_KNM, NVL(DATA_LENGTH, '0') as DATA_LENGTH, "); metaquery.append(" NVL(DATA_SCALE, '0') as DATA_SCALE "); metaquery.append("from "); metaquery.append(" META_TABLE "); // 영문검색 if(searchtype.equals("0")) { if(liketype.equals("0")) { metaquery.append(" OBJ_ENM LIKE '" + metavalue + "%' \n"); else if(liketype.equals("1")) { metaquery.append(" OBJ_ENM LIKE '%" + metavalue + "%' \n"); else if(liketype.equals("2")) { metaquery.append(" OBJ_ENM LIKE '" + metavalue + "%' \n"); else { metaquery.append(" OBJ_ENM = '" + metavalue + "' \n"); // 한글검색 else { if(liketype.equals("0")) { metaquery.append(" OBJ_KNM LIKE '" + metavalue + "%' \n"); else if(liketype.equals("1")) { metaquery.append(" OBJ_KNM LIKE '%" + metavalue + "%' \n"); else if(liketype.equals("2")) { metaquery.append(" OBJ_KNM LIKE '" + metavalue + "%' \n"); - 18 -

101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 else { metaquery.append(" OBJ_KNM = '" + metavalue + "' \n"); StringBuffer resultstr = new StringBuffer(); boolean breturn = false; String strdata = ""; resultstr.append(data_del); // 주어진쿼리로메타데이터를검색 rs = stmt.executequery(metaquery.tostring()); // Get ResultSet Meta Information Data ResultSetMetaData rsmd = rs.getmetadata(); // Get Column Count int ncolcount = rsmd.getcolumncount(); while(rs.next()) { breturn = true; for(int i = 0 ; i < ncolcount; i++) { if(rs.getstring(i + 1)!= null) { strdata = rs.getstring(i + 1).trim(); resultstr.append(strdata); resultstr.append(field_del); resultstr.append(record_del); resultstr.append(data_del); if(breturn == true) { out.print(resultstr); else { out.print(data_del + DB_FAIL + FIELD_DEL + RECORD_DEL + DATA_DEL); catch(exception e) { out.println(data_del + DB_FAIL + FIELD_DEL + e.getmessage() + RECORD_DEL + DATA_DEL); finally { try { if(rs!= null) rs.close(); if(stmt!= null) stmt.close(); if(conn!= null &&!conn.isclosed()) conn.close(); catch (Exception e) { out.println(data_del + DB_FAIL + FIELD_DEL + e.getmessage() + RECORD_DEL + DATA_DEL); - 19 -

155 %> 라인 설명 3 ~ 8 JSP에서사용할상수선언 10 ~ 42 XFrameDevStudio 에서요청한파라미터처리및 Validation 44 ~ 47 DB 접속및쿼리수행을위한변수선언 51 ~ 54 DB 접속을위한정보변수설정 69 ~ 104 외부메타솔루션의테이블조회를위한쿼리조립 113 ~ 140 외부메타솔루션의테이블에대한쿼리수행및 XFrameDevStudio 로전달한데이터 조립및전달 146 ~ 153 DB 접속관련리소스해제 - 20 -