明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

RESIN/TOMCAT與MYSQL的連接處理方法

[摘要]RESIN/TOMCAT和MYSQL的連接解決方法 cloud/2003.10.15 mail:flashc@21cn.com 如果你不想看太多廢話直接看下面3句話就ok了 解決方法的主要手段: 1...
RESIN/TOMCAT和MYSQL的連接解決方法
cloud/2003.10.15
mail:flashc@21cn.com

如果你不想看太多廢話直接看下面3句話就ok了
解決方法的主要手段:
1.mysql的授權(quán)用戶權(quán)限必須@%而不是@localhost
2.jsp使用jdbc驅(qū)動連接數(shù)據(jù)庫的連接字符實際上應(yīng)該算遠程訪問
3.切記:@%代表在遠程的權(quán)限,@localhost實際上只有在本機的權(quán)限

也許我太笨了,折磨了我一個多月吧,這個問題,一直沒法連接到數(shù)據(jù)庫上,頭都大了因我安裝mysql后習(xí)慣刪除user表里的3個多余的帳號,以加強安全,所以這個問題一直沒解決掉(但我想不刪也好象一樣有問題吧?畢竟那幾個帳號都不是@%的),總是找不到原因,在CU的斑竹的提示下(雖然沒給我實際解決的方法,但我還是要謝謝他們),后來根據(jù)出錯信息查了一下國外的BBS,找到了一個類似的回答同樣的錯誤,不過一個老外提示說把連接字符串里的localhost換成實際的域名或者IP我試了一下,沒效,不過我突然想了下,又加了一個帳號@%的試驗,成功了!心情很爽,再也不用郁悶了,還有,說一下,mysql這個數(shù)據(jù)庫只有root帳號能有管理的特權(quán),其他帳號是沒權(quán)限動它的。

希望我的心得能給別人帶來些幫助!

下面是測試用的jsp腳本,測試前請確保你的test數(shù)據(jù)庫里面有個test表,隨便填
兩個字段和輸入幾行數(shù)據(jù)。
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost/test?user=test&password=test&useUnicode=true&characterEncoding=8859_1" ;
//假設(shè)test是你的數(shù)據(jù)庫
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
//從test表讀數(shù)據(jù)
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內(nèi)容為:<%=rs.getString(1)%>
您的第二個字段內(nèi)容為:<%=rs.getString(2)%>
<%}%>
<%out.print("數(shù)據(jù)庫操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>