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 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?