vb.net – 为什么不推荐使用一个公共OleDbConnection?替代解决
我必须使用另一个开发人员制作的项目.一个带有Visual-Basic代码的Win-Form项目,MS-Access为db和一些OleDbConnections.有一个错误:有时应用程序无法打开OleDbConnection,因为已在db上达到最大连接数.我知道使用连接的最佳方法是:
Using cn As New OleDbConnction(s) ... cn.Close() End Using 但是在项目中有许多类可以使用db,在许多这些类中,OleDbConnections具有“Friend”可见性,可以在不同的时间打开和关闭.因此,将所有OleDbConnections放入Using构造中是不可能的,并且很难找到哪些操作“忘记??”关闭其中一个OleDbConnection. 一个可能的解决方案可能是只使用一个唯一的公共OleDbConnection,并在打开之前检查它是否尚未打开.
从您的描述中,我看到了一些可能导致您的问题的可能问题:
>嵌套连接: 一些可能的方法来调查和解决问题: 跟踪所有打开/关闭呼叫 强制连接轮询 OLE DB Services=-1 使用连接管理器类为您创建/释放连接. 那么为什么持有单一连接通常会被弃用? >通常,您不应该在整个应用程序中保持连接打开,因为它们会强制数据库服务器为您保留可用资源,并且会减少可以连接的客户端数量(总是有可用的连接数量有限). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |