ODBC连接池
我从开发人员那里继承了一套.Net c#应用程序,它与Unix服务器上的Informix数据库进行通信。ODBC连接池
代替使用通常的管理数据库连接的方法(一次性模式/“开放迟到/关闭早期”),代码似乎在每个应用程序加载并且未关闭时打开一个ODBC连接。
是否有任何方法可以查看打开了多少个ODBC连接?
我正在尝试重构应用程序中的代码以使用.NET最佳做法,但由于当前代码正常工作而遇到阻力。
您可以在ODBC管理器中启用ODBC跟踪,启动应该打开请求的池连接的ODBC连接。编辑ODBC跟踪文件文件,并且可以调用SQLConnect或SQLDriverConnect调用的数量,以提供应用程序所做的ODBC连接总数。任何发生的SQLDisconnect都表示连接已关闭,应该考虑连接的总数...
谢谢。 我做到了这一点,并能够看到同时打开一些应用程序,超过25个连接在我自己的机器上保持打开状态。 – Beansy 2010-05-18 09:33:05
“但我遇到了阻力,因为当前的代码有效。”
给予阻力者+1。
如果确实需要正确支持所需的功能,而且没有任何性能问题,那么没有任何问题,如果没有任何问题被破坏,则无需修复。
我见过太多编码雅皮士搞砸了工作系统,因为他们认为他们知道“更好”的方式来组织代码。
如果您确信您的代码组织方式(您所称的“最佳实践”)与现有系统中应用的代码相比具有任何优势,请将其应用于新项目中以向企业展示。如果确实有明显的好处,那么相信我,用户会注意到。如果没有,那么你已经被教授了一个非常重要的教训,即“哪种编码方式是最好的”并不重要。
当我说当前的代码有效时,这个项目正在进行,产品还没有发布给用户。路线图中的新功能由于现有代码库的设计/实施方式而变得更加难以实施。 我想重构代码的原因是为了使它更易于维护,并使我们能够引入单元测试,因为我相信这将为我们节省将来的时间和金钱。 感谢您的咆哮...... – Beansy 2010-05-18 09:27:51
当连接未被使用时,.NET框架使用连接池。但连接在启动时打开并在结束时关闭。所以,汇集不可能有效。 – Kangkan 2010-05-17 14:29:04
使用什么ODBC驱动程序?根据ODBC驱动程序的类型,池化工作方式可能有所不同 – IMHO 2010-05-17 15:43:54