2015년 11월 24일 화요일

MSSql + Java, Jsp(Eclipse) Driver 설정하는 것들

ps. Mssql 무려 2005 버전을 처음 사용하게 되어
    한글 설정 안한다고 좋아했는데 생각지도 않은 예스, 노 스위치
         설정때문에 많은 시간을 허비하다니....


1. 우선 jar 파일을 다운로드 해야 되는데 현재 최신은 4.2 인가함
    https://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

    근데 압축 풀면 알겠지만 java 버전별로 구별해서 넣어줘야
     말썽이 없음.
    이하 자바 버전의 경우 sqljdbc 파일명은 같은데
     2.0 이하 버전의 압축 파일을 갖다가 써야
     한다고 함.

   여기서는 1.5이기 때문에 그대로 진행
 자바는 희한하게 클래스 패스를  .jar 까지 잡아줘야 된다는
    설명이 압도적으로 많음
 하지만 결국엔 굳이 패스 안잡아도 프로젝트 안에 넣던지
     마지막처럼 서버 lib 앞에 넣어주면 됨.

 드라이버가 제대로 로드 안되면 이렇게 메시지가 뜸
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at


2. 드라이버 문제가 없는데 이제는 연결을 못한다는 메시지가 계속 뜸
    처음엔 드라이버가 불량인줄 알았으나 찾아볼 수 있는 상위 드라이버는
    하위 드라이버를 정상적으로 포함한다는걸 뒤늦게 깨달음
   
  이때부터는 메시지가 이렇게 바뀜

호스트 localhost, 포트 1433에 대한 TCP/IP 연결에 실패했습니다. 오류: "Connection refused: connect. 연결 속성을 확인하십시오. SQL Server의 인스턴스가 호스트에서 실행되고 있고 포트에서 TCP/IP 연결을 허용하고 있는지 확인하십시오. 또한 방화벽에서 포트로의 TCP 연결을 차단하지 않는지 확인하십시오.".

  1) 이때 MSSql Server 2005 의 설정을 진행하기로 함
먼저 SQL Server Configuration Manager 를 실행하고 나오는 좌측
   메뉴의 위쪽부터 살펴보기로 함
   (1) Sql Server, SQL Server Browser 은 실행 중 상태여야 함
       의외로 아닌경우가 많음 그리고 우측 마우스 키 눌러서 속성에 보면
       서비스가 로컬인지 네트웍인지 보여주는데 네트웍으로 해둠
       (자컴으로 하면 상관없지만)


   (2) 바로 밑의 SQL Server 네트워크 구성의 Express 프로토콜 부분에서
        VIA 제외하고는 모두 사용으로 하고, 특히 TCP/IP 속성을 확인해서
        기본 포트를 1433으로 해둬야 함. 접속하고 있는 IP번호에
        꼭 예외를 넣어야 될 경우에 넣으면 되지만
        개발자가 굳이 ... 노멀하게 쓸때는 가장 하단 부 IP주소 부분의
        TCP 포트를 적어줘야 한다. (이 부분때문에 애먹음)


    (3) SQL Native Client 구성 부분에서도 TCP/IP를 사용하도록 설정하고
        (VIA빼고 다) 여기서도 TCP/IP 속성에 포트를 1433으로 설정한다.


   
  2) 방화벽을 체크해 줘야함.
      보통 기본으로 설치시 해당 폴더에 있으니 그대로
      해당 파일을 예외 시켜주면 됨


그랬더니 성공

3. Path 까지 잡고 SQL2005 설정 다 잡고 해당 .jar를 넣었는데도
     jsp 파일에서는 에러가 유지됨.
    결론 : 다 필요없고 Server 상 lib에 넣어두면
            자바건 jsp 건 다 됨.
            (Apache Tomcat 기준)
     끝

오류 메시지:
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at

댓글 없음:

댓글 쓰기