본문 바로가기
WAS/WEBLOGIC

16. DataSource 생성

by coldplayer83 2023. 7. 6.
728x90

웹로직의 데이터소스 설정은 ${DOMAIN_HOME}/config/config.xml의 <jdbc-system-resource> 태그에 정의됨

또는 어드민 콘솔 서비스 - 데이터소스에서 데이터소스 이름을 선택하여 볼 수도 있음

 

데이터소스 생성)

 

1. 서버 및 DB 기동

 

2. 어드민 콘솔 접속

1) 잠금 및 편집 - 서비스 - 데이터소스

2) 구성 - 새로만들기 - 일반 데이터 소스 선택

 

3) 이름, JNDI 이름, 데이터베이스 유형 선택

!! 어플리케이션 이름과 데이터소스 이름이 겹치면 에러 발생하므로 겹치지 않게 주의

 

4) 데이터베이스 드라이버 선택

Oracle's Driver (Thin) for Instance connections; Versions:Any

 

5) 전역 트랜잭션 지원, 1단계 커밋

 

6) 접속 속성 입력

 

7) 구성 테스트 후 성공하면 완료

 

8) 데이터소스 목록에서 생성한 데이터 소스 클릭

대상 탭에서 데이터소스를 배치할 인스턴스 선택 후 저장 - 변경 내용 활성화

 

9) 배치 대상 서버를 재기동하고 데이터소스 - 모니터링에서 연결한 데이터소스 항목이 존재하면 정상

 


 

커넥션 테스트용 jsp 파일

conn.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource" %>
<html>
	<%!
        String getStackTraceAsString(Exception e) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        e.printStackTrace(new PrintStream(baos));
        return(baos.toString());
	} %>
	<body>
		<%
            Context ctx = null;
            Connection conn = null;
            Statement stmt = null;
            ResultSet rs = null;
            String query = "select * from v$instance";
            try { 
            ctx = new InitialContext();
            DataSource ds = (DataSource) ctx.lookup("myDatasource");
            conn = ds.getConnection();

            stmt = conn.createStatement();
            rs = stmt.executeQuery(query);  
            ResultSetMetaData rsmd = rs.getMetaData();
            int numCols = rsmd.getColumnCount();   
         %>
		<h3>DB Connection Test</h3>
		<p>
		<table border=1 cellspacing=1 cellpadding=0 width=400>
			<tr>
			<%
			for (int i = 1; i <= numCols; i++) { %>    
			<td align=center>
			<b> <%= rsmd.getColumnLabel(i) %> </b>
			</td>
			<%
			}  %>
			</tr>
			<%
			while (rs.next()) { %>
			<tr>
			<%
			for (int i = 1; i <= numCols; i++) { %>
			<td align=center>
			<%= rs.getString(i) %>
			</td>
			<%
			}  %>
			</tr>
			<%
			}
			} catch (Exception e) { %>
			<br>
			Exception: <%= e %>
			<pre><%= getStackTraceAsString(e) %></pre>
			<%
			} finally {
			try {
			rs.close();
			stmt.close();
			conn.close();
			} catch (Exception e) {
			out.print("<br>Exception: " + e);
			out.print("<br><pre>" + getStackTraceAsString(e) + "</pre>");
			}
			} %>
		</table>
	</body>
</html>

 

아래 부분을 해당 데이터소스 이름으로 변경하여 사용

 

ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("myDatasource");
conn = ds.getConnection();

 

'WAS > WEBLOGIC' 카테고리의 다른 글

18. weblogic 삭제  (0) 2023.07.12
17. weblogic 클러스터링  (0) 2023.07.06
15. 암호화된 계정 정보 복호화  (0) 2023.07.06
14. 관리자 계정 설정  (0) 2023.07.05
13. 로그 경로 변경  (0) 2023.07.05