先发段代码,大家看看要怎么连接public class ConnectionFactory {
private ConnectionFactory(){

}
/**
 * 通过web.xml的JNDIname参数配置创建连接
 * @return
 */
public static Connection getConnection(){
try {
System.out.println("连接1");
String JNDIname=(String)new javax.naming.InitialContext().lookup("java:comp/env/JNDIname");
System.out.println("连接建立1");
return ConnectionFactory.getConnection(JNDIname);
} catch (NamingException e) {
 
System.out.print("数据库未启动或连接池未配置!");
}
return null;
}
/**
 * 通过指定的JNDI名称获取数据库连接,如JDBC/SURVEY
 * @param JNDIname
 * @return Connection
 */
public static Connection getConnection(String JNDIname){
 
try {
System.out.println("连接2");
Context initCtx = new InitialContext();
      Context envCtx = (Context) initCtx.lookup("java:comp/env");
      DataSource ds = (DataSource) envCtx.lookup(JNDIname);
      System.out.println("连接建立2");
return ds.getConnection();
} catch (NamingException e1) {
 
System.out.print("数据库未启动或连接池未配置!");
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
}
web.xml关于数据库部分
<!--database JNDI name configuration-->
 <env-entry>
  <env-entry-name>JNDIname</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>jdbc/survey</env-entry-value>
 </env-entry>
context.xml
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/survey"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mySQL;DatabaseName=survey"
username="sa" password="sa" maxActive="200" maxIdle="10"
maxWait="-1"
/>
</Context>
之前是sql2000的数据库,我想换成mysql的数据库,对context.xml里面的driverclassname和url,进行了修改····但是还是连接不到数据库求教下大家~~谢谢!

解决方案 »

  1.   

    错误消息是什么啊?
    一般的调错过程是:
    首先确定MYsql数据库上是否存在数据库名为mySQL的数据库,其次验证用户名和密码
    然后查看你的URL书写是否正确,我感觉你的URL写错了呢.
    写法参考如下:
    jdbc:mysql://127.0.0.1:3306/mysql","","");   
      

  2.   

    url 问题 你那种是SQL Server的写法吧jdbc:mysql://localhost:3306/survey
      

  3.   

    上面的朋友说得很清楚了,是URL的问题,你那种是SQL 的写法,是不行的、、、、
      

  4.   

    jdbc:mysql://<hostname>[<:3306>]/<dbname>
      

  5.   

    type="javax.sql.DataSource" 
    driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://localhost:3306/dbname" 
      

  6.   

    先谢谢大家下~这是我修改过之后报的错····
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    at com.swufe.sql.ConnectionFactory.getConnection(ConnectionFactory.java:44)
    at com.swufe.sql.ConnectionFactory.getConnection(ConnectionFactory.java:24)
    at com.swufe.sql.SQLCommand.getConn(SQLCommand.java:26)
    at com.swufe.sql.SQLCommand.queryRowSet(SQLCommand.java:88)
    at com.ec.survey.dao.mssqlimpl.ConfigDAOimpl.findConfig(ConfigDAOimpl.java:47)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:61)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.ec.survey.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:56)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
    ... 28 more
    2010-2-26 16:13:42 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet jsp threw exception
    java.lang.NullPointerException
    at com.swufe.sql.SQLCommand.queryRowSet(SQLCommand.java:92)
    at com.ec.survey.dao.mssqlimpl.ConfigDAOimpl.findConfig(ConfigDAOimpl.java:47)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:61)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.ec.survey.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:56)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
      

  7.   

    没有添加mysql 的jar文件吧
      

  8.   

    Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    你驱动加载了没
      

  9.   

    Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    说的很清楚了,驱动问题