jdbc连接sql2000数据库出错,与未信任数据库与连接

jdbc连接sql2000数据库应该注意:

1.需打上sqlSp4补丁,还需将服务器网络实用工具中tcp/ip属性中的默认端口改成1433

2.将sql2000jdbc的三个jar包放到需要的tomcat的lib目录下或者各个工程的WEB-INF的lib下

3.sql2000的sqlserver属性配置安全性的标签下应该安装如下:

密码空白或者自己设置

 

 package com.tools;

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 = "/com/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_shw";
  private static String dbUser = "sa";
  private static String dbPwd = "";
 
  public ConnDB(){
     try {
       InputStream in=getClass().getResourceAsStream(propFileName);
       prop.load(in);         //通过输入流对象加载Properties文件
       dbClassName = prop.getProperty("DB_CLASS_NAME"); //获取数据库驱动
       dbUrl = prop.getProperty("DB_URL",dbUrl);
       dbUser=prop.getProperty("DB_USER",dbUser);
       dbPwd=prop.getProperty("DB_PWD",dbPwd);
     }
     catch (Exception e) {
       e.printStackTrace();  //输出异常信息
     }
   } 
  public static Connection getConnection() {
    Connection conn = null;
    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) {    //当ResultSet对象的实例rs不为空时
    rs.close();     //关闭ResultSet对象
   }
   if (stmt != null) {    //当Statement对象的实例stmt不为空时
    stmt.close();    //关闭Statement对象
   }
   if (conn != null) {    //当Connection对象的实例conn不为空时
    conn.close();    //关闭Connection对象
   }
  } catch (Exception e) {
   e.printStackTrace(System.err); //输出异常信息
  }
 }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值