2009년 7월 27일 월요일

MS-SQL DB TCP/IP 연결오류시 해결법!

JAVA에서 접속을 하려니 "호스트 에 대한 TCP/IP 연결에 실패했습니다."
라는 아름다운 문구가 Exception 과 한께 출력되더군요. =_=)a

머리를 무쟈게 쥐어 뜯다가
네이버샘이 아래와 같은 답을 주더군요.!

1.
Microsoft SQL Server 2005 -> 구성 도구 -> SQL Server 구성관리자를 실행하고,

SQL Server 구성 관리자 -> SQL Server 2005 네트워크 구성 -> INSTANCE이름(SQLEXPRESS)에 대한 프로토콜을 선택하면, TCP/IP가 꺼져있습니다.
참고, http://mudchobo.tomeii.com/tt/302

우선 설치하고 JDBC로 접속하는데 좀 힘들었던 것이....

디폴트로 TCPIP가 꺼져있다는 겁니다. 이것때문에 엄청 고생했습니다.

Microsoft SQL Server 2005 -> 구성 도구 -> SQL Server 구성관리자를 실행하고,

SQL Server 구성 관리자 -> SQL Server 2005 네트워크 구성 -> INSTANCE이름(SQLEXPRESS)에 대한 프로토콜을 선택하면, TCP/IP가 꺼져있습니다.

이걸 사용으로 바꾸고 나서,

시작 -> cmd -> telnet locahost 1433(mssql은 1433이 기본포트)

저렇게 해서 아래와 같이 나온다면

C:\Documents and Settings\mudchobo>telnet localhost 1433
연결 대상 localhost...호스트에 연결할 수 없습니다. 포트 1433: 연결하지 못했습니다.
C:\Documents and Settings\mudchobo>
포트설정이 잘못 되어있을 겁니다.
TCP/IP 오른쪽버튼 클릭하고 속성누르면, 프로토콜에 모두 수신합니다가 예로 되어있으면, IP주소탭에서 IPALL부분에 포트가 설정이 잘못 되어있었을 껍니다. TCP 동적 포트는 비워두고, TCP포트는 1433으로 바꿔줍니다.
DB를 재시작하고 telnet 때리면 될 겁니다.

그다음에 DB를 컨트롤해야하니까 아까 두번째로 설치한 SQL Server Management Studio Express를 실행해봅시다.
그럼다음 아까 설정한 인증으로 로그인 하고, 보안 -> 로그인 부분에 사용자를 추가할 수 있습니다.
사용자를 추가한다음에 데이터베이스를 생성해서 해당 사용자에게 할당할 수 있습니다.
이건 뭐 삽질 해보면 됩니다.

JDBC는 이곳에서 받을 수 있습니다.
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba
이건 1.2버전인데, 2.0 preview버전도 있는 것 같아요. 이것도 다른 jdbc driver처럼 사용하면 돼요.
대신 주소입력하는 게 좀 틀리더라구요.


jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost;databasename=mudchobo
jdbc.username=mudchobo
jdbc.password=mudchobo
저렇게 사용합니다.

2.
네트워크 연결 -> 로컬 영역 연결 -> 속성 -> 고급 -> 설정 ->예외(Windows 방화벽) 에서 SQL Server을 선택해 주세요! -> 편집 -> 범위 변경(사용자 지정 목록으로 되어 있다면 추가 해 주세요)

http://blog.naver.com/479lgs?Redirect=Log&logNo=150038660147

댓글 2개: