还有能不能帮忙告诉我,有什么代码能看数据库是否连接。。谢谢
顺便帮我看下下面的代码哪里错了
代码如下:
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)
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 驱动程序来连接。