JDBC连接数据库问题
//**************************************
错误:
java.sql.SQLException: Access denied for user 'abc'@'root' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3953)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.struts.ClassifyDAO.<init>(ClassifyDAO.java:21)
at com.struts.ClassifyAction.doQueryClassify(ClassifyAction.java:37)
at com.struts.ClassifyAction.execute(ClassifyAction.java:25)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Unknown Source)
2010-11-3 11:58:35 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
2010-11-3 11:58:35 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.struts.ClassifyDAO.query(ClassifyDAO.java:33)
at com.struts.ClassifyAction.doQueryClassify(ClassifyAction.java:41)
at com.struts.ClassifyAction.execute(ClassifyAction.java:25)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Unknown Source)
//*************************************************
代码是这样写的:
package com.struts;
import java.sql.*;
import java.util.ArrayList;
import java.util.Collection;
public class ClassifyDAO {
public static final String DRIVER_DATABASE="com.mysql.jdbc.Driver";
public static final String CONNECTION_DATABASE="jdbc:mysql://192.168.1.48:3306/struts_db?useUnicode=true&characterEncoding=GBK";
public static final String DATABASE_USER="abc";
public static final String DATABASE_PASSWORD="abc";
private Connection connection; // 连接数据库
public ClassifyDAO(){
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
e.printStackTrace();
}
try{
his.connection = DriverManager.getConnection //此处报错。。。。。(CONNECTION_DATABASE,DATABASE_USER,"DATABASE_PASSWORD");
}catch(SQLException e){
e.printStackTrace();
}
}
public Collection query(Object model){ //数据查询
String sql = "select * from classify";
Collection collection = new ArrayList();
try{
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
ClassifyForm from = new ClassifyForm();
from.setClassNum(rs.getString(1));
from.setClassName(rs.getString(2));
collection.add(from);
}
closeResultSet(rs);
closeStatement(stmt);
}catch(SQLException e){
e.printStackTrace();
}finally{
closeConnection(connection);
}
return collection;
}
public void closeResultSet(ResultSet result){ //关闭结果集
try{
if(result != null){
result.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public void closeStatement(Statement stmt){ //关闭语句对象
try{
if(stmt != null){
stmt.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public void closeConnection(Connection connection){ //断开与数据库的连接
try{
if(connection!=null && !connection.isClosed()){
connection.commit();
connection.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
相关推荐
使用JDBC连接Mysql数据库会出现的问题总结
首先理清几个概念: JDBC:java数据库连接,是Orical公司的指定的一套规范接口 java数据库驱动:JDBC的实现类,由相应的数据库厂商提供,可以通过驱动去操作不同的数据库 在java-数据库这里,jdbc-api中的所有包都是java.sql或者javax.sql JDBC的操作步骤: (1)建立数据库和表 (2)创建项目 (3)导入驱动jar包 (4)注册驱动 Class.forName("com.mysql.jdbc.Driver"); (5)获取连接 Connection conn = DriverManager.getConnecti
JDBC连接Oracle数据库常见问题及解决方法
JDBC连接Oracle数据库常见问题及解决方法
JDBC连接数据库的相关问题
JDBC连接数据库的相关问题 1. JDBC 的概念 jdbc是一种用于执行SQLQ语句的API,可以为多种数据库提供统一的访问,它是由一组java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。说白了,我们可以通过这个东西去连接到数据库,并对数据库进行一系列的操作 2. 连接数据库需要明确的条件(前提) 确定连接的数据库所在网络地址和对应操作哪一个数据库,这里使用一个符合JDBC规范的URL URL jdbc://mysql://localhost:3306/lalala (3306是端口号,在自己安装mysql设置的,
解决XP不能用JDBC不能连接数据库的问题
XP系统里大家应该都碰到在eclipse里用jdbc连接数据库时报错的问题吧 错误信息: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source) at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source) at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source) at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source) at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) 呵呵 其实很简单的 只要安装个sqlserver 2000 sp3 就行了 复制这个地址也可以下载:http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe (微软官方地址) 下载后运行chs_sql2ksp3.exe把安装程序(默认)释放到C:\sql2ksp3, 然后在运行sql2ksp3文件夹里面的stuep.bat,根据提示完成安装即可。 安装完成提示重新启动后,连接SQLServer 2000数据库正常。
jdbc连接数据库的乱码问题(已解决)
jdbc连接mysql出现了乱码,总结起来就是里面的四个编码方式是一样的时候,就不会乱码了,简之,客户连接数据库返回结果(编码必须一致)。


