今天終於幫朋友解決了一個小問題,這個問題意見困惱她N久了,心裏還有點小小的成就,希望更多的朋友少走彎路,技術上的問題大家都可以一起交流。謝謝
下面把問題陳述如下:
在jsp連接sqlserver的時候,如果sqlserver沒有安裝成功(第一種情況),或者sqlserver安裝成功沒有打sp4補丁(第二種情況)的話,一般會出現嚴重的sqlexception,jsp和數據庫進行連接時都會出錯:
第一種遇到的情況和解決方案:安裝SQL Server2000的時候,安裝程序提示我安裝程序被掛起,讓我重新啓動電腦,但我即便是重新啓動了再次安裝,SQL Server2000的安裝程序依舊提示我這個錯誤。
看來重起並不能解除被掛起的安裝程序。 查閱了資料,得知要解決這個問題需要刪除註冊表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager下的PendingFileRenameOperations子鍵。刪除後纔可以重新安裝成功。
看來重起並不能解除被掛起的安裝程序。 查閱了資料,得知要解決這個問題需要刪除註冊表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager下的PendingFileRenameOperations子鍵。刪除後纔可以重新安裝成功。
第二種遇到的情況和解決方案:
JSP連接Sqlserver數據庫出現的BUG:
org.apache.jasper.JasperException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
第一種解決方案:
首先:你要確定你裝好了JDK1.4以上JAVA版本.以及TOMCAT5.5以上版本.然後安裝SQL SERVER 2000.打上好SP4的補丁.然後再安裝Microsoft SQL Server 2000 Driver for JDBC SP3以上版本.
其次:將Microsoft SQL Server 2000 Driver for JDBC 裏面的Lib目錄下的三個.jar文件拷貝到TOMCAT\common\lib裏面.
最後:設置CLASSPATH和PATH路徑.CLASSPATH 路徑:.;Java_HOME\lib\dt.jar;.;Java_HOME\lib\servletapi.jar;JAVA_HOME\lib\tools.jar;CATALINA_HOME\common\lib\servlet.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
PATH路徑:%JAVA_HOME%\bin;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
其中JAVA_HOME路徑:C:\Program Files\Java\jdk1.5.0_11
CATALINA_HOME路徑:C:\Tomcat 5.5
第二種解決方案:
1、 服務器正常啓動檢查是不是使用1433 端口
2、查看防火牆是不是屏蔽1433端口了
3、CMD-NETSTAT -AN 檢查下你的1433端口是不是開啓 沒有的話 打SQL SERVER 的補丁 SP3 OR SP4 基本都是補丁問題
附:
2、查看防火牆是不是屏蔽1433端口了
3、CMD-NETSTAT -AN 檢查下你的1433端口是不是開啓 沒有的話 打SQL SERVER 的補丁 SP3 OR SP4 基本都是補丁問題
附:
1、下載Microsoft SQL Server 2000 Service Pack 3a並安裝,SQL請選用混和安裝模式!!! [url]http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn[/url] 2、下載SQL Server 2000 Driver for JDBC Service Pack 3 [url]http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en[/url] 3、運行時關閉防火牆 |
上面的情況都檢查完畢後,重啓web服務器,可以了。感覺真爽!