是否有更好的方法强制断开所有用户与Oracle 10g数据库模式的连接,而不是重新启动Oracle数据库服务?
我们有几个开发人员使用SQL Developer连接到单个Oracle 10g服务器上的相同模式.问题是,当我们想要删除模式以重建它时,不可避免地有人仍然连接,并且当某人仍然连接时我们不能删除数据库模式或用户.
出于同样的原因,我们不希望删除所有与其他模式的连接,因为其他人可能仍然连接并使用这些模式进行测试.
有人知道解决这个问题的快捷方法吗?
在尝试添加一些参数验证和正确的使用语义应用程序,我们正在试图正确的异常处理添加到我们的.NET应用程序.
我的问题是这样的:当ADO.NET抛出异常,如果一个特定的查询返回任何数据或数据不能被发现,我应该使用什么类型的异常?
伪码:(读,不仔细检查代码的语义,我知道这不会编译)
public DataSet GetData(int identifier)
{
dataAdapter.Command.Text = "Select * from table1 Where ident = " + identifier.toString();
DataSet ds = dataAdapter.Fill(ds);
if (ds.table1.Rows.Count == 0)
throw new Exception("Data not found");
return ds;
}
Run Code Online (Sandbox Code Playgroud) 有没有办法使用 IoC、MEF [Imports] 或其他 DI 解决方案在对象创建时而不是在组合期间动态组合依赖项?
这是我目前的想法。如果您有一个引发事件的对象实例,但您不是一次创建对象并将其保存在内存中,则每次创建对象时都必须注册事件处理程序。据我所知,大多数 IoC 容器要求您注册组合中使用的所有类并调用 Compose() 以使其连接所有依赖项。
我认为由于对象创建、依赖注入等的开销,这可能是一个可怕的设计(我在这里处理一个遗留系统)来做到这一点......但我想知道是否可以使用其中一个紧急 IoC技术。
也许我混淆了一些术语,但我的目标是避免编写一个框架来在对象的实例上“连接所有事件”,并使用 MEF 之类的东西来 [导出] 处理程序(依赖项)特定的接口并将它们 [ImportMany] 放入一个对象实例中,这样当应用程序启动时,如果程序集在那里,我的导出就会被调用。所以也许所有对象在应用程序启动时仍然可以组合,但我希望系统在创建和销毁对象时找到并调用所有对象。