java小白,求问关于数据的问题

默魑 发布于 2016/05/12 22:58
阅读 132
收藏 0
public static int restoreOrBackup(String sql) throws Exception {
		int rs = 0;
		if (conn != null) {
			conn.close();
		}
		// 连接到系统数据库
		conn = DriverManager.getConnection(
				"jdbc:jtds:sqlserver://localhost:1433/master", dbUser,
				dbPwd);
		Statement stmt = conn.createStatement();
		// 定义单用户连接模式的SQL语句
		String single = "alter database db_database28 set single_user"
				+ " with rollback immediate " + sql;
		// 执行数据库备份或恢复的SQL语句
		rs = stmt.executeUpdate(single);
		stmt.close();
		conn.close(); // 关闭数据库连接
		// 恢复原有数据库连接
		conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
		return rs;

}

其中

String single = "alter database db_database28 set single_user"
				+ " with rollback immediate " + sql;      的
		// 执行数据库备份或恢复的SQL语句

alter database db_database28 set single_user"
				+ " with rollback immediate    是干嘛的?不是只执行后面的SQL就可以了吗》???




加载中
0
蓝薯
蓝薯
先整理好你的问题吧
0
Happy猪猪
Happy猪猪

没看懂什么意思


0
liuleidefeng
liuleidefeng

rollback immediate,执行这个命令之后,SQL Server立即断开所有的连接并回退它们的事务。所有正在执行事务的用户都会接收到一个连接错误,而且他们不能再连接数据库。至于为啥你这段代码里有这个语句,请仔细查看你代码的上下文,以及你restoreOrBackup方法的用途。


默魑
太谢谢了,前面没有看完所有的代码,后面有介绍,谢谢了
返回顶部
顶部