代码
package com.wgh.DB;import java.sql.*;
import java.io.*;
import java.util.*;public class connDB {
  public Connection conn = null;
  public Statement stmt = null;
  public ResultSet rs = null;
  private static String propFileName = "C:/connDB.properties";
  private static Properties prop = new Properties();
  private static String dbClassName =
      "com.microsoft.jdbc.sqlserver.SQLServerDriver";
  private static String dbUrl =
      "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shop";
  private static String dbUser = "sa";
  private static String dbPwd = "sa";
  private static void loadProperty() {
    try {
      prop.load(new FileInputStream(propFileName));  //通过文件输入流对象加载Properties文件
      dbClassName = prop.getProperty("DB_CLASS_NAME");
      dbUrl = prop.getProperty("DB_URL",
                               "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shop");
      dbUser = prop.getProperty("DB_USER", "sa");
      dbPwd = prop.getProperty("DB_PWD", "sa");
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }  public static Connection getConnection() {
    Connection conn = null;
    loadProperty();
    try {
      Class.forName(dbClassName).newInstance();
      conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
    }
    catch (Exception ee) {
      ee.printStackTrace();
    }
    if (conn == null) {
      System.err.println(
          "警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:" +
          dbClassName + "\r\n链接位置:" + dbUrl + "\r\n用户/密码" + dbUser + "/" +
          dbPwd);
    }
    return conn;
  }  /*
   *功能:执行查询语句
   */
  public ResultSet executeQuery(String sql) {
    try {
      conn = getConnection();
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                  ResultSet.CONCUR_READ_ONLY);
      rs = stmt.executeQuery(sql);
    }
    catch (SQLException ex) {
      System.err.println(ex.getMessage());
    }
    return rs;
  }  /*
   *功能:执行更新操作
   */
  public int executeUpdate(String sql) {
    int result = 0;
    try {
      conn = getConnection();
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                  ResultSet.CONCUR_READ_ONLY);
      result = stmt.executeUpdate(sql);
    }
    catch (SQLException ex) {
      result = 0;
    }
    try {
      stmt.close();
    }
    catch (SQLException ex1) {
    }
    return result;
  }  public int executeUpdate_id(String sql) {
    int result = 0;
    try {
      conn = getConnection();
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                  ResultSet.CONCUR_READ_ONLY);
      result = stmt.executeUpdate(sql);
      String ID = "select @@IDENTITY as id";
      rs = stmt.executeQuery(ID);
      if (rs.next()) {
        int autoID = rs.getInt("id");
        result = autoID;
      }
    }
    catch (SQLException ex) {
      result = 0;
    }
    return result;
  }  /*
   *功能:关闭数据库的连接
   */
  public void close() {
    try {
      if (rs != null) {
        rs.close();
      }
    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }
    try {
      if (stmt != null) {
        stmt.close();
      }
    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }
    try {
      if (conn != null) {
        conn.close();
      }
    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }
  }}

解决方案 »

  1.   

    tomcat里报错:
    警告: DbConnectionManager.getConnection() 获得数据库链接失败.链接类型:com.microsoft.jdbc.sqlserver.SQLServerDriver
    链接位置:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shop
    用户/密码sa/
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(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(DriverManager.java:525)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at com.wgh.DB.connDB.getConnection(connDB.java:38)
    at com.wgh.DB.connDB.executeQuery(connDB.java:57)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:49)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
    at java.lang.Thread.run(Thread.java:595)
    页面中报错:
    type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)root causejava.lang.NullPointerException
    com.wgh.DB.connDB.executeQuery(connDB.java:59)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:49)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)note The full stack trace of the root cause is available in the Tomcat logs.
    这是什么原因啊?拜托知道的高手指导下,不甚感激!!!
      

  2.   

    是不是你用户名和密码错了,还是说你的SQL2000的服务没启
      

  3.   

        dbUrl = prop.getProperty("DB_URL", 
                                   "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shop"); 
          dbUser = prop.getProperty("DB_USER", "sa"); 
          dbPwd = prop.getProperty("DB_PWD", "sa"); 这里只要写 键就可以了把
    值应该是从文件里面读出来的啊
      

  4.   

    写的是什么
    要么就直接写
    要么就从properties读
    //与loadProperty()去掉先
      

  5.   

    谢谢,就是说不用properties文件?
      

  6.   

    报的错误是你用户名密码的问题,仔细看下你对应db_shop 这个数据库的用户名和密码是否正确