C# - 我应该使用静态数据库连接吗

标签 c# database oracle

在我连接到 Orace 数据库的应用程序中,我总是创建一个新连接,打开它,执行 OracleCommands,最后关闭它。最近我认为实现静态连接会是一个更好的主意。假设我有一个可以从任何地方访问的静态连接。每次我需要连接到数据库时,我都可以检查我的静态连接的状态,如果它还没有打开就打开它,然后关闭它。您认为这是有益的还是有更多的缺点?

最佳答案

我假设您在这里使用的是 ODBC,因为您没有准确说明并且通常使用它...

不,你应该每次都使用一个新的连接,这是微软推荐的标准做法。如果您使用的是 ODBC 等,则 Windows 会管理这些连接,缓存它们以供重复使用,这样可以更轻松地管理事物的生命周期。

如果您使用静态连接,您可能会提前处理它或在不知情的情况下关闭它。一般来说,它只是有点笨拙和过早的优化。

To deploy high-performance applications, you frequently must use connection pooling. However, when you use the .NET Framework Data Provider for ODBC, you do not have to enable connection pooling because the provider manages this automatically.

参见 OdbcConnection了解更多信息。

关于C# - 我应该使用静态数据库连接吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12838844/

相关文章:

c# - 使用 RestSharp 将 GET 参数添加到 POST 请求

c# - Active Directory Docker - Windows 身份验证模式

mysql - 如何在mysql上按年份和学期排名?

mysql - 远程连接到 clearDB heroku 数据库

sql - 从 SQL 数据库中选择具有相似标签(多对多关系)的行

sql - 在字符串 Oracle SQL 之间插入字符

c# - 我是否可以将 SQLite3 C 函数正确导入到 C# 中

c# - MVC 3 模型验证问题——疏忽或设计使然

Oracle 12c Forms & Reports setup_fmw_12.2.1.3.0_fr_win64.exe 安装错误 : self-extraction to C:\. ..... .tmp 失败

Java:调用oracle数据库中的存储过程