woouboy 2013-08-30 13:51 采纳率: 0%
浏览 873

sql 2005跟哪些版本的eclipse能连接。。

还有能不能帮忙告诉我,有什么代码能看数据库是否连接。。谢谢

顺便帮我看下下面的代码哪里错了

代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtils {
private static final String className = null;

private DBUtils(){}

private static DBUtils instance = null;

public synchronized static DBUtils getInstance(){
    if(instance == null) {
        instance = new DBUtils();
    }
    return instance;
}

String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";// 数据库驱动字符串
String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=MyCRM";// 连接URL
String user = "sa"; // 数据库用户名
String password = "juemi2135"; // 用户密码

public Connection getConnection() throws SQLException {
    Connection conn=null;
    try {

        Class.forName(className);
        conn = DriverManager.getConnection(url, user, password);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    return conn;
}

public static void main(String[] args) throws SQLException {
    long begin = System.currentTimeMillis();
    for(int i=0;i<1000;i++){
    Connection conn = DBUtils.getInstance().getConnection();
    conn.close();
    }
    long end=System.currentTimeMillis();
    System.out.println(end-begin);
}

}

错误如下:
Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at DBUtils.getConnection(DBUtils.java:29)
at DBUtils.main(DBUtils.java:40)

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-16 11:23
    关注

    SQL Server 2005 可以使用 Eclipse 的 Data Tools Platform (DTP) 插件连接。


    可以使用如下代码来检查数据库是否连接:

    Connection conn = null;
    try {
        conn = DriverManager.getConnection(url, user, password);
        if (conn != null) {
            System.out.println("Connected to the database!");
        } else {
            System.out.println("Failed to make connection!");
        }
    } catch (SQLException e) {
        System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    您的代码中有一个错误,是因为没有将驱动类名赋值给变量className,而是将其赋值为null。修改如下:

    private static final String className = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    

    此外,我建议您把连接变量定义在方法内部,在使用后关闭连接。


    如果您想连接 SQL Server 2005,您需要在程序中使用 Microsoft JDBC 驱动程序来连接。

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况