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 驱动程序来连接。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型