close
  • 홈
  • :
  • 위치로그
  • :
  • 태그
  • :
  • 방명록
  • :
  • 관리자
  • :
  • 새글쓰기
블로그 이미지

이슬나라 [isulnara.com]
프로그램 관련 문의...
전체 (208)
자작 프로그램 (24)
EzIP (3)
IEPageSetup (3)
iSysInfoX (2)
메신저 알림이 (1)
ezSVC (1)
WebFTP (2)
iDebugX (1)
기타 (10)
버그 신고 (1)
이것저것.. (55)
WebFTP 게시판 (0)
팁 모음 (77)
linux (21)
프로그래밍 (36)
윈도우 (5)
네크워크 (7)
기타 (7)
윈도우 숨은.. (4)
터미널 서비스.. (1)
공개 웹하드 (1)
관리자 (0)
PC 원격제어.. (1)
NAS (43)
«   2012/02   »
일 월 화 수 목 금 토
      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      
backup 홈 네트워크 IP 3rd party IE 안드로이드 location.href CRC 암호 자동입력 330 콘솔프로그램 웹디스크 android sed nateon arm dsm 3.2 병돌리기 bootstrap rsync cue bin synology splash 네임서버 SurfaceView 선풍기 제어 부팅 이미지 다운로드스테이션 ezSVC
[ezLink] 동시 접속수...
ezLink 1.2.1.2 정식... (3)
MD5 CRC 체크섬.
Apache, Subversion...
CentOS에 MongoDB 설치.
예.. 제가 직접 만들어서...
isul / 01/29
직접 만드시는 프로그램...
LuckySh / 01/28
109j용 1869가 synology...
isul / 01/22
Ds-109j 1869 가지고 계...
심재규 / 01/21
시도해보지는 않았지만 S...
isul / 01/20
일반 어플리케이션을 서...
ㅇㅇ/ / 2009
사이코웨어 : nProtect,...
√ MIRiyA's AstraLog / 2008
웹페이지에서 인쇄시 머...
醉生夢死™ / 2006
웹페이지에서 MAC Addres...
날자~!! 날어~!! / 2005
 최근글 목록
 2011/11 [2]
 2011/10 [3]
 2011/09 [1]
 2011/07 [3]
 2011/06 [1]
넷하드 - NAS 카페
무료 원격제어 프로그램
블로그가 뭥미?
솔라리스 테크넷
스티브 맥코넬
시놀로지 NAS 카페
하얀나무 - 캠핑 전문 쇼핑몰
하얀나무's Story
Total of
456357 visitors
Today 64
Yesterday 189
 
글검색결과[jndi] : 1
2008/02/20  Tomcat 5.0.27 + SQL Server 환경에 DBCP(DataBase Connection Pool) 사용
     
 팁 모음/프로그래밍 
Tomcat 5.0.27 + SQL Server 환경에 DBCP(DataBase Connection Pool) 사용
Posted on 2008/02/20 14:25
 
 
 
 
1. jdbc 드라이버 파일 복사
SQL Server 2005용 jdbc 드라이버 파일 sqljdbc.jar를 c:\Program Files\tomcat\common\lib\에 복사
SQL Server 2000일 경우 msutil.jar, msbase.jar, mssqlserver.jar


2. server.xml 설정

파일 위치: c:\Program Files\tomcat\conf\server.xml

<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="X:\myAPP\source\jsp\FHMS\WEB_ROOT" debug="0" reloadable="true">
    <!-- FHMS DB Setting -->
    <Resource name="jdbc/fhms" auth="Container" type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/fhms">
    <parameter>
        <name>username</name>
        <value>webuser</value>
    </parameter>
    <parameter>
        <name>password</name>
        <value>adlf@reawt*d*</value>
    </parameter>
    <parameter>
      <name>driverClassName</name>
      <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
    </parameter>
    <parameter>
      <name>url</name>
      <value>jdbc:sqlserver://192.168.0.2:1433;databasename=fhms;SelectMethod=cursor;</value>
    </parameter>
    <parameter>
      <name>removeAbandoned</name>
      <value>true</value>
    </parameter>
    <parameter>
      <name>removeAbandonedTimeout</name>
      <value>60</value>
    </parameter>
    <parameter>
      <name>logAbandoned</name>
      <value>true</value>
    </parameter>
    <parameter>
      <name>maxActive</name>
      <value>25</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>10</value>
    </parameter>
    <parameter>
      <name>maxWait</name>
      <value>-1</value>
    </parameter>
    <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    </ResourceParams>
    <ResourceLink name="jdbc/fhms" global="jdbc/fhms" type="javax.sql.DataSource"/>
</Context>

</Host>

SQL Server 2000 드라이버를 사용할 경우 위 내용 중 driverClassName와 url을 다음과 같이 수정
<parameter>
  <name>driverClassName</name>
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>

<parameter>
  <name>url</name>
  <value>jdbc:microsoft:sqlserver://192.168.0.2:1433;databasename=fhms;SelectMethod=cursor;</value>
</parameter>


*. 참고: 아래 사항은 <Context></Context> 사이에 넣지 않고, <GlobalNamingResources>안에 넣어도 됨
<Resource name="jdbc/fhms" auth="Container" type="javax.sql.DataSource"/>
                                    ....
</ResourceParams>



3. 사용 예

xxx.jsp의 소스 코드

<%@ page import="java.sql.*, javax.naming.*, javax.sql.*, java.util.*" contentType="text/html;charset=euc-kr" %>
<%
try
{
    Context ctx = new InitialContext();
    DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/fhms");
    Connection conn = ds.getConnection();

    String sid = "A3DE42F";
    PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM sensor WHERE sid = ?");
    pstmt.setString(1,  sid );

    ResultSet rs = pstmt.executeQuery();

    while (rs.next())
    {
        out.println(rs.getString("name"));
    }

    if (pstmt != null)
        pstmt.close();
    if (rs != null)
        rs.close();
    if (conn != null)
        conn.close();
}
catch(Exception e)
{
    out.println(e);
}


4. 에러 메시지에 따른 문제 해결 방법

org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
-> sqljdbc.jar을 c:\Program Files\tomcat\common\lib\에 복사


javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
-> server.xml
        <Context path="" docBase="X:\myAPP\source\jsp\FHMS\WEB_ROOT" debug="0" reloadable="true">
            <ResourceLink name="jdbc/fhms" global="jdbc/fhms" type="javax.sql.DataSource"/>
        </Context>

참고 웹페이지
1. http://tong.nate.com/bbottlejo/43172210
2. http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106&eid=Ppn9AJtqrH2Aj0jRlvKNHj1k9CIND1EQ&qb=bG9va3VwKCJqYXZhOg==
3. http://annehouse.tistory.com/249
4. http://blog.naver.com/jyoung96?Redirect=Log&logNo=110001673012


Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
jndi, SQL Server, tomcat
Trackback [0] : Comment [0]
TrackbackAddress
http://isulnara.com/tt/trackback/156
SecretComment
  1