Tomcat Sql Server 2005 연결 풀 실랑이 소기

최근에 오래된 프로젝트를 다운로드해서 시스템을 구축하여 원래 쓴 것을 보려고 합니다. 데이터베이스에서 사용하는 것은 mssql입니다. (그것에 대한 익숙함은oracle보다 못하기 때문에 괴롭히고 싶어요!)그리고 대응하는 데이터베이스도 내보냈다(sqlserver2000). 이 컴퓨터의 sqlserver 2005 데이터베이스를 가져왔습니다. 현재 소스 연결 탱크가 그렇게 많은데tomcat은 별로 사용하지 않지만 저는 좀 괴롭히고 싶습니다.
1. 경고 오류: 보고 백업 세트의 데이터베이스 백업이 기존 데이터베이스와 다른 오류입니다. 해결 방법: 복원 시 설정: 옵션 -> 복원 옵션 -> 기존 데이터베이스 덮어쓰기 -> 확인, 통과했습니다.
2. 처음에는 sb식으로 sql 서버 2000의 jdbc 드라이브 패키지(msbase.jar, msutil.jar, mssql 서버.jar)를tomcat/lib에 복사하면 안 됩니다.
오류 보고:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error 
establishing socket.)

3. mssql 서버를 삭제합니다.jar, 2005 버전인 가방으로 바꿔도 mssql 서버라고 합니다.jar (사용 중인 2005 버전 데이터베이스 시스템에서 찾은 것) 을 수정한 다음tomcat에서comtext.xml Resource 구성, 오류 보고:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDDriver

드라이버를 못 찾겠어요?나중에야 "com.microsoft.sqlserver.jdbc.SQLServerDriver"의 순서가 틀렸다는 것을 알았고jar의 디렉터리 구조에 따라 정해야 한다는 것을 알았다.
주의: SQL SERVER 2005에서 연결 항목은 SQL SERVER 2000과 다르다: sql 서버와 jdbc는 선후가 다르다.
4. 이따가 이 잘못을 보고하고, 이따가 저 잘못을 보고하고,나는comtext.xml의 Resource 설정은 자신감이 없고jar의 도입이 정확한지 자신감이 없고 태도를 늦게 의심한다. 보고가 틀리면 급하게 고치고 급하게 해결해야 하기 때문에 두 손을 잡는다. Resource 설정을 바꾸고 +jar 패키지를 바꾸는 것은 엄밀한 해결 방법이 없는 논리성이다.이번에는 sqljdbc4로 바꿨습니다.jar 패키지, 재부팅:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The TCP/IP connection to the host localhost, port 1433 
has failed. Error: Connection refused: connect. Please verify the connection properties and check that a SQL Server instance is running on the 
host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.)

사실 돌이켜 생각해 보면 이번 보고는 충분히 틀렸다. 결승점에서 가장 가까운 편이지만 나는 여전히 중시를 받지 못하고 돌아갔다.
5. 위의 이 오류를 해결하면 가장 뚜렷하고 가장 빠를 수 있을 것이다. 그러나 이때 동료가 한 테스트는 바로 성공했다. 나는 그의 간단한connection 테스트 페이지를 얻을 수 있다고 생각한다. 이런 방식은 매우 좋다. 나에게 이식하면 안 된다!
우리가 방문한 것은 서로 다른 데이터베이스(내가 방문한 것은 본 컴퓨터이고 그가 방문한 것은 모 서버)이다. 그러면 서버 데이터베이스로 바뀌어 통과하면 링크를 얻을 수 있다!shit, 내 데이터베이스에 문제가 있어!
테스트 페이지:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="javax.naming.Context"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="java.sql.Connection"%>
<%
    Context ctx = new InitialContext();
    String strLookup = "java:comp/env/test";
    DataSource ds = (DataSource) ctx.lookup(strLookup);
    Connection con = ds.getConnection();
    if (con != null) {
        out.print("     ");
    } else {
        out.print("   ");
    }
%>

그리고 구글에서 sql 서버의 이 버전들을 발견하면 패치를 해야 합니다. 그래서 sb는 패치를 하고 리셋 머신을 설치해도 안 됩니다!
6. 엉터리 발견은 나의 mssql이express버전으로 로컬 연결으로만 제한되어 있고 1433포트 서비스도 열지 않았고 열 곳도 없다.:sh_i_t.해결책 찾기;
SQL Server Express 2005 네트워크 구성 정보(SQL Server 2005 Network Configuration―>Protocols for SQLEXPRESS)를 보십시오.기본적으로 오른쪽 목록의 Named Pipes 및 TCP/IP 상태는 Disable 으로 설정되어 있지 않습니다.이 두 항목을 오른쪽 단추로 누르고 팝업 메뉴에서 Enable을 선택하면 이 두 프로토콜을 사용합니다.TCP/IP 프로토콜을 두 번 클릭하여 대화 상자를 팝업합니다.수정 대화상자 Protocol 등록 정보 페이지의 "Listen All"항목을 "no"로 설정합니다.IP Address 등록 정보 페이지에서 데이터베이스 서비스에서 수신할 IP 주소의 등록 정보를 수정하고, Enabled 등록 정보를 Yes로 수정하며, TCP Dynamic Ports 등록 정보를 공백으로 수정하고, TCP Port 항목은 기본 설치에서 공백으로 설정하고, 이제 수신 포트 1433으로 수정합니다.
연결 보기: 넷stat-an 또는 넷stat-p tcp, 1433이 드디어 생겼습니다.
7. sql 서버 서비스를 다시 시작합니다.토마토캣 연결 탱크를 테스트합니다. 토마토캣의 연결 탱크에서 연결이 성공한 것 같습니다.그러나 데이터베이스에 연결할 수 없고 시스템에 로그인할 수 없다.caodan!
오류 보고: 전송된 테이블 형식 데이터 흐름(TDS) 원격 프로세스 호출(RPC) 프로토콜 흐름이 올바르지 않습니다. 매개변수 1(""): 데이터 유형 0x38 알 수 없습니다.이 때 mssql 서버를jar를 sqljdbc로 바꿉니다.jar, 수정된 매개 변수는 driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
다시 켜기, 여전히 안 돼, TMD, sqljdbc4로 바꿔.jar, 재부팅, 로그인 시스템 성공.TMD, 정말 괴롭다.
PS: 엉망진창이지, 엉망진창이지, 내가 문제를 해결하는 데 너무 급하고, 너무 조급하고, 단숨에 해결하려고 하지만 일부 기초 지식이 튼튼하지 않아서 허둥지둥하는 것을 좋아한다.이 경험을 통해 평소에 자신의 사고방식을 진지하게 정리하고 문제를 해결하는 논리적 방법, 선후 순서, 한 걸음 한 걸음 뚱뚱한 사람을 한 입에 먹어서는 안 된다. 문제를 해결하기 위해 해결할 수 없다. 일이 끝나면 끝난다. 이렇게 되면 다음에 문제에 부딪히면 여전히 허둥지둥 급하게 성공을 추구하고 빨리 하려고 해도 이루지 못한다.
각 초보적인 문제 해결 방향을 형성합시다. 기초 지식을 얻고--->수정 테스트--->문제가 있다--->수정하고 문제가 발생하는 범위를 줄여서 배제--->진실이 드러날 때까지 계속 축소하세요!
20110608 ADD:
tomcat 연결 sql 서버 2005 시:
connection을 가져올 수 없습니다. 오류 메시지: cannot create jdbc driver of class "모모"for connect url "모모":
수정:context.xml 파일의 Resource 구성:
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName = 데이터베이스,SelectMethod=Cursor"
다음으로 변경:
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName = 데이터베이스,SelectMethod=Cursor"
(데이터베이스 버전: Microsoft SQL Server 2005 - 9.00.4035.00(Intel X86) Nov 24 2008 13:01:59 Copyright(c) 1988-2005 Microsoft Corporation Express Edition with Advanced Services on Windows NT 5.1(Build 2600: Service Pack 3), sp4 패치 미적용)
오류: cannot create jdbc driver of class "모모"for connect url "null"이면 sp4 패치가 필요할 수 있습니다.

좋은 웹페이지 즐겨찾기