IBM blue-and-white template

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

10.ppt

13주-14주proc.PDF

14-Servlet

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

쉽게 풀어쓴 C 프로그래밊

J2EE Concepts

歯JavaExceptionHandling.PDF

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

FileMaker 15 ODBC 및 JDBC 설명서

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

JavaGeneralProgramming.PDF

FileMaker ODBC 및 JDBC 가이드

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

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

2장 변수와 프로시저 작성하기

FileMaker ODBC and JDBC Guide

rmi_박준용_final.PDF

PowerPoint 프레젠테이션

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

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

歯sql_tuning2

단계

chapter1,2.doc

자바-11장N'1-502

PowerPoint 프레젠테이션

Analyze Connection Failover Options.ppt

Interstage5 SOAP서비스 설정 가이드

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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

FileMaker ODBC and JDBC Guide

초보자를 위한 ADO 21일 완성

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

1217 WebTrafMon II

NoSQL

제목을 입력하세요.

JMF2_심빈구.PDF

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

ODS-FM1

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

12-file.key

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

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

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

MS-SQL SERVER 대비 기능

Microsoft PowerPoint - 10Àå.ppt

.

untitled

untitled

윈도우시스템프로그래밍

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

Application 에서 Parameter 값을받아 JDBC Interface 로보내게되면적절한 JDBC Driver 를통해 SQL 을 Database 로보내주게되고결과를받아서사용자에게보여주게된다. 2-2 JDBC Interface JDBC 의핵심 Interface

슬라이드 1

Remote UI Guide

PowerPoint 프레젠테이션

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

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

Chapter 1

Microsoft Word - SQL튜닝_실습교재_.doc

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

JDBC 소개및설치 Database Laboratory

교육2 ? 그림

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

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Sena Device Server Serial/IP TM Version

MySQL-.. 1

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

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

MySQL-Ch05

02 C h a p t e r Java

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

DBMS & SQL Server Installation Database Laboratory

Assign an IP Address and Access the Video Stream - Installation Guide

MasoJava4_Dongbin.PDF

신림프로그래머_클린코드.key

PowerPoint 프레젠테이션

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

untitled

uFOCS

untitled

PowerPoint Presentation

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

C++Builder ADO Programming (5) - ADO Transaction, Errors

untitled

개발문서 Oracle - Clob

JMF3_심빈구.PDF

Microsoft PowerPoint - 04-UDP Programming.ppt

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

슬라이드 1

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

윈도우시스템프로그래밍

Portal_9iAS.ppt [읽기 전용]

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Dialog Box 실행파일을 Web에 포함시키는 방법

문서 템플릿

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

untitled

Transcription:

IBM Software Group 웹기반의 DB2 개발환경구축및 DB2 Information Integrator 를이용한정보통합데모 한국 IBM 소프트웨어사업부 정진영대리 (jyjeong@kr.ibm.com)

Agenda Preparation JAVA ENV JAVA CONNECTION PHP ENV PHP CONNECTION

Preparation Installation DB2 /usr/opt/db2_08_01 DB2 INSTANCE # /usr/opt/db2_08_01/instance/db2icrt -u [fencedid] [userid] /etc/services db2c_db2inst1 50000/tcp # db2 update dbm cfg SVCENAME db2c_db2inst1 # db2set DB2COMM=TCPIP DATABASE create, TABLE create # db2sampl (sample database create)

JAVA ENV JDK version All version supported /usr/java13_64 PATH # PATH=$PATH:/usr/java13_64/bin Installation Apache /usr/local/apache Installation WebApplication Server Tomcat, Resin WebSphere(IBM http server), WebLogic, Jeus

JAVA CONNECTION CLASSPATH All connection users to DB2 configured classpath in their profile /home/db2inst1/sqllib/db2profile # CLASSPATH=$CLASSPATH:/home/db2inst1/sqllib/java/db2java.zip Type4 => db2jcc.jar, db2jcc_license_cisuz.jar, db2jcc_license_cu.jar

JAVA CONNECTION app Driver(Type 2) Driver Com.ibm.db2.jdbc.app.DB2Driver URL jdbc:db2:sample net Driver(Type 3) Driver Com.ibm.db2.jdbc.net.DB2Driver ORACLE oracle.jdbc.driver.oracledriver URL jdbc:db2://211.63.66.113:6789/sample ORACLE jdbc:oracle:thin:@ 211.63.66.113:1521:sample Execute command in server installed DB2 # db2jstrt if not CLI0621E! Default port open : 6789 port jcc Driver(Type 4) Driver com.ibm.db2.jcc.db2driver URL jdbc:db2://211.63.66.113:50000/sample

JAVA CONNECTION DB2Driver Load Load DB DB에대한연결 Statement 객체객체생성 DB2 + JAVA Query Query 실행실행 연결에연결에관련된관련된객체객체종료

JAVA source(1) import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class DB2Connect extends HttpServlet { public void service(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { String URL = "jdbc:db2://211.63.66.113:6789/sample"; String userid = "db2inst1"; String passwd = "db2inst1"; Connection con = null; Statement stmt = null; ResultSet rs = null; String query = null; * IP 와 PORT,DB 명을포함하는정확한 URL 작성 * URL 의 DB 에인증할수있는사용자계정과패스워드 * Connection 에관련된객체선언 PrintWriter out = new PrintWriter(new OutputStreamWriter(res.getOutputStream(), "EUC-KR"));

JAVA source(2) try { Class.forName("COM.ibm.db2.jdbc.net.DB2Driver"); } catch (ClassNotFoundException e) { out.println("couldn't Load Database Driver : " + e.getmessage()); } try { res.setcontenttype("text/html; charset=euc-kr"); con = DriverManager.getConnection(URL, userid, passwd); * DB2Driver 를 Load 하고등록하는과정으로 Load 할수없는경우에는에러메시지를화면에보여준다. * 위에서미리정의해놓은 URL, userid, passwd 를이용해서데이터베이스에대한연결을수행한다. query = "select empno from employee"; stmt = con.createstatement(); rs = stmt.executequery(query); out.println("<html><body>"); while(rs.next()) { out.println(rs.getstring("empno")+"<br>"); } out.println("</body></html>"); out.flush(); out.close(); * 연결된 Connection 객체를이용해서실제적으로 db 의세션을하나가져오는 Statement 객체를생성한다 *query 를실행하고결과를 Result 객체에담는다.

JAVA source(3) } } rs.close(); stmt.close(); con.close(); } catch (SQLException e) { out.println("<html><body>"); out.println("sqlstate : "+e.getsqlstate()+"<br>"); out.println("message : "+e.getmessage()+"<br>"); out.println("errorcode : "+e.geterrorcode()+"<br>"); out.println("query : "+query+"<br>"); out.println(e); out.println("</body></html>"); out.flush(); out.close(); e.printstacktrace(); } finally { if (stmt!= null) try{ stmt.close(); }catch(exception e){} if (con!= null) try{ con.close(); }catch(exception e){} } * 연결에관련된객체종료 * 중요한부분으로생략하지말고꼭수행해주어야한다. * 프로그램실행중에러가발생한경우정확한에러메시지를화면에보여준다. *e.printstacktrace() 를걸면에러가발생한경우 trace 역순으로추적하여에러발생원인을잡아낼수있으므로유용하다. *finally() 문에 Statement 객체와 Connection 객체가존재하는지확인하는체크를해서 close() 해주어야한다.

PHP ENV Installation Apache Install Apache 1.x Apache2.x not supported yet /usr/local/apache Installation PHP /usr/lib/php4 They are good for rapid prototyping They offer excellent support for dynamic Web applications Native support for many Databases They work well in environments involving multiple architectures

PHP CONNECTION odbc function use odbc_connect() Installation unixodbc ODBC Manager system DSN ENV /etc/odbc.ini /etc/odbcinst.ini # /etc/odbc.ini [SAMPLE] Description = IBM DB2 SAMPLE DB Driver = /home/db2inst1/sqllib/lib/libodbc.so.1 DBALIAS = SAMPLE # /etc/odbcinst.ini [ODBC] Trace = Yes Trace File = /tmp/sql.log [IBM] Description = IBM DB2 ODBC Driver Driver = /home/db2inst1/sqllib/lib/libodbc.so.1 Setup = /home/db2inst1/sqllib/lib/libodbcinst.so.1 File Usage = 1

PHP CONNECTION ODBC ODBC setting setting DB DB에대한연결 odbc_connect() DB2 + PHP Query Query 실행실행 odbc_exec() DB DB연결연결종료 odbc_close()

PHP source(1) <? $dsn="sample" ; $userid= db2inst1"; $passwd= db2inst1"; $dbconn = odbc_connect($dsn, $userid, $passwd) or die(" 데이터베이스연결에실패하였습니다."); if (!$dbconn) { $err_no = odbc_error(); $err_msg = odbc_errormsg(); $error_msg = "ERROR CODE ". $err_no. " : $err_msg"; $error_msg = addslashes($error_msg); echo("$error_msg"); exit; }?> *odbc_connect() 함수를이용해서데이터베이스에연결을한다. * 연결에실패한경우정확한에러메시지를화면에보여준다.

PHP source(2) <html> <body> <? $query = "select empno from employee"; *odbc_exec() 함수를이용해서 query 를실행한다. $Result = odbc_exec($dbconn, $query); for($i=0; $i <= odbc_fetch_row($result); $i++) { $empno = odbc_result($result,"empno"); echo("$empno<br>"); }?> </body> </html> <? odbc_close($dbconn);?> *odbc_result() 함수를이용해서 query 에대한결과를얻는다. *odbc_close() 함수를이용해서 DB 에대한연결을 close() 해준다

DEMO 1 : Web Programming Oracle 의 emp table 을 DB2 의 emp_ora table 로 federation 으로구성한다 웹프로그램 (servlet) 으로 DB2 에연결하여 federation 으로구성한 emp_ora table 에대해 insert,update,delete 처리를한다. 실제적으로 Oracle 의 emp table 에트랜잭션처리가된걸확인한다.

DEMO 1 : Web Programming Data Source Oracle : emp SQL> desc emp 이름널? 유형 ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)

DEMO 1 : Web Programming Oracle Federation Wrapper CREATE WRAPPER "net8" LIBRARY 'db2net8.dll'; Server CREATE SERVER ORA9DB TYPE ORACLE VERSION '9' WRAPPER "NET8" OPTIONS( ADD NODE 'ora9', PASSWORD 'Y'); User mapping CREATE USER MAPPING FOR ADMINISTRATOR" SERVER "ORA9DB" OPTIONS ( ADD REMOTE_AUTHID 'scott', ADD REMOTE_PASSWORD tiger'); Nickname CREATE NICKNAME ADMINISTRATOR.EMP_ORA FOR ORA9DB.SCOTT.EMP;

DEMO 1 : Web Programming Data Source DB2 : emp_ora db2 => describe table emp_ora 컬럼 유형 유형 이름 스키마 이름 길이 크기 널 ------------------------------ --------- ------------------ -------- ----- ------ EMPNO SYSIBM SMALLINT 2 0 아니오 ENAME SYSIBM VARCHAR 10 0 예 JOB SYSIBM VARCHAR 9 0 예 MGR SYSIBM SMALLINT 2 0 예 HIREDATE SYSIBM TIMESTAMP 10 0 예 SAL SYSIBM DECIMAL 7 2 예 COMM SYSIBM DECIMAL 7 2 예 DEPTNO SYSIBM SMALLINT 2 0 예

DEMO 1 : Web Programming

DEMO 1 : Web Programming

DEMO 2 : Data Federation A 이벤트사는고객사로부터의뢰받은행사를개최하여당첨된고객에게사은품을전달하고있다 A 이벤트사의데이터베이스는 DB2 를사용하고, 고객사는 Oracle 을사용한다 행사기간의당첨고객리스트는 excel 파일로주기적으로수집된다 고객사 excel Call Center A 이벤트사 고객정보 (Oracle) 이벤트정보 (DB2)

DEMO 2 : Data Federation Data Source Oracle : custmain SQL> desc custmain 이름널? 유형 ----------------------------------------- -------- ---------------------------- SNO NOT NULL VARCHAR2(13) NAME VARCHAR2(20) TEL1 VARCHAR2(16) TEL2 VARCHAR2(16) EMAIL VARCHAR2(50) ADDR1 VARCHAR2(50) DB2 : event db2 => describe table event 컬럼 유형 유형 이름 스키마 이름 길이 크기 널 ------------------------------ --------- ------------------ -------- ----- ------ RATE SYSIBM INTEGER 4 0 예 DESCRIPTION SYSIBM VARCHAR 100 0 예 SDATE SYSIBM DATE 4 0 예 EDATE SYSIBM DATE 4 0 예

DEMO 2 : Data Federation Excel : file1.xls

DEMO 2 : Data Federation Oracle Federation Wrapper CREATE WRAPPER "net8" LIBRARY 'db2net8.dll'; Server CREATE SERVER ORA9DB TYPE ORACLE VERSION '9' WRAPPER "NET8" OPTIONS( ADD NODE 'ora9', PASSWORD 'Y'); User mapping CREATE USER MAPPING FOR ADMINISTRATOR" SERVER "ORA9DB" OPTIONS ( ADD REMOTE_AUTHID 'scott', ADD REMOTE_PASSWORD tiger'); Nickname CREATE NICKNAME ADMINISTRATOR.CUSTMAIN FOR ORA9DB.SCOTT.CUSTMAIN;

DEMO 2 : Data Federation Excel Federation Wrapper CREATE WRAPPER "excel2000" LIBRARY 'db2lsxls.dll'; Server CREATE SERVER EXCELDEMO WRAPPER "EXCEL2000"; Nickname CREATE NICKNAME FILE ( SNO VARCHAR(13), NAME VARCHAR(20), RATE INTEGER ) FOR SERVER EXCELDEMO OPTIONS ( FILE_PATH 'C: temp file1.xls');

DEMO 2 : Data Federation Data Source DB2 : custmain db2 => describe table custmain 컬럼 유형 유형 이름 스키마 이름 길이 크기 널 ------------------------------ --------- ------------------ -------- ----- ------ SNO SYSIBM VARCHAR 13 0 아니오 NAME SYSIBM VARCHAR 20 0 예 TEL1 SYSIBM VARCHAR 16 0 예 TEL2 SYSIBM VARCHAR 16 0 예 EMAIL SYSIBM VARCHAR 50 0 예 ADDR1 SYSIBM VARCHAR 50 0 예 DB2 : file db2 => describe table file 컬럼 유형 유형 이름 스키마 이름 길이 크기 널 ------------------------------ --------- ------------------ -------- ----- ------ SNO SYSIBM VARCHAR 13 0 예 NAME SYSIBM VARCHAR 20 0 예 RATE SYSIBM INTEGER 4 0 예

DEMO 2 : Data Federation

DEMO 2 : Data Federation Query SELECT F.SNO, F.NAME, C.TEL1, C.TEL2, SUBSTR(C.EMAIL,1,20), SUBSTR(C.ADDR1,1,20), F.RATE, SUBSTR(E.DESCRIPTION,1,20) FROM FILE F, CUSTMAIN C, EVENT E WHERE F.SNO = C.SNO AND F.RATE = E.RATE AND CURRENT DATE BETWEEN E.SDATE AND E.EDATE ORDER BY F.RATE; Excel 파일 Oracle 데이터 DB2 데이터

DEMO 2 : Data Federation

DEMO 2 : Data Federation Excel : file2.xls

DEMO 2 : Data Federation Excel Federation Nickname DROP NICKNAME FILE; CREATE NICKNAME FILE ( SNO VARCHAR(13), NAME VARCHAR(20), RATE INTEGER ) FOR SERVER EXCELDEMO OPTIONS ( FILE_PATH C: temp file2.xls');

DEMO 2 : Data Federation