RESIN/TOMCAT與MYSQL的連接處理方法
發表時間:2023-08-19 來源:明輝站整理相關軟件相關文章人氣:
[摘要]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的授權用戶權限必須@%而不是@localhost
2.jsp使用jdbc驅動連接數據庫的連接字符實際上應該算遠程訪問
3.切記:@%代表在遠程的權限,@localhost實際上只有在本機的權限
也許我太笨了,折磨了我一個多月吧,這個問題,一直沒法連接到數據庫上,頭都大了因我安裝mysql后習慣刪除user表里的3個多余的帳號,以加強安全,所以這個問題一直沒解決掉(但我想不刪也好象一樣有問題吧?畢竟那幾個帳號都不是@%的),總是找不到原因,在CU的斑竹的提示下(雖然沒給我實際解決的方法,但我還是要謝謝他們),后來根據出錯信息查了一下國外的BBS,找到了一個類似的回答同樣的錯誤,不過一個老外提示說把連接字符串里的localhost換成實際的域名或者IP我試了一下,沒效,不過我突然想了下,又加了一個帳號@%的試驗,成功了!心情很爽,再也不用郁悶了,還有,說一下,mysql這個數據庫只有root帳號能有管理的特權,其他帳號是沒權限動它的。
希望我的心得能給別人帶來些幫助!
下面是測試用的jsp腳本,測試前請確保你的test數據庫里面有個test表,隨便填
兩個字段和輸入幾行數據。
<%@ 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" ;
//假設test是你的數據庫
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
//從test表讀數據
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個字段內容為:<%=rs.getString(1)%>
您的第二個字段內容為:<%=rs.getString(2)%>
<%}%>
<%out.print("數據庫操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>