我正在使用sql server和tomcat作为我的Web应用程序 要刷新/清理我的数据库,我必须关闭tomcat才能成功清理 有没有办法使用java,我可以清理我的数据库,而无需关闭tomcat
答案 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关闭,然后杀死它们。