如何在不使用java停止tomcat的情况下清理数据库

时间:2011-08-27 10:13:58

标签: java sql-server-2005 tomcat

我正在使用sql server和tomcat作为我的Web应用程序 要刷新/清理我的数据库,我必须关闭tomcat才能成功清理 有没有办法使用java,我可以清理我的数据库,而无需关闭tomcat

3 个答案:

答案 0 :(得分:2)

您可以使用以下命令终止与数据库的外部连接:

USE master;
GO
ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE dbname;
GO
-- now you can perform your "database cleanup" as you are the only
-- user allowed in.

完成清理后:

USE master;
GO
ALTER DATABASE dbname SET MULTI_USER;
GO

现在,在此期间尝试访问应用程序的用户会发生什么,以及tomcat如何做出反应,< shrug> 。根据用户在清理过程中看到的内容,将tomcat关闭起来似乎更清晰。

答案 1 :(得分:0)

您可以从您的Java代码执行SQL命令,例如DELETE和DROP TABLE

答案 2 :(得分:0)

您必须关闭tomcat webapps已打开的所有数据库连接。

要在不停止tomcat的情况下执行此操作,您必须以某种方式告诉您的webapps在刷新数据库时暂时关闭其数据库连接(太麻烦)或者只是通过从数据库连接中删除它们来关闭使用数据库连接的webapps webapps文件夹。

这两种技术的组合最好:发信号通知你的webapps关闭,然后杀死它们。