从.NET 3.5 平台连接到 ORACLE 数据库的问题

标签: .Net Oracle
发布时间: 2014/3/9 6:25:36
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我们目前使用的 Oracle 数据连接 dll 中我们的 VB.Net 应用程序被配置为 Windows 服务之一。.Net 版本我们使用的是框架 3.5 和我们连接到 Oracle 10g。

此应用程序不断地使连接到数据库,并关闭立即在该特定实例 (单身人士设计模式的一种在数据库连接中涉及) 中的每个连接。我们得到的更频繁地对 DB 连接 ("连接丢失联系人") 错误。阅读后通过一些博客,我们在连接字符串中,添加一个参数验证连接 = TRUE。此错误得到解决,但是我们现在,得到一个新的错误消息"连接请求超时"

解决方法 1:

我看到,指定超时使用的唯一 connectionstring 选项Oracle.NET 数据提供程序 / ODP.NET是以下内容:

Data Source=myOracle;User Id=myUsername;Password=myPassword;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;

你可以得到更多的例子: http://www.connectionstrings.com/oracle#p12

这里是描述:

默认情况下,启用了连接池。这其中一个控制池机制。连接池的服务通过使用 ConnectionString 属性来唯一地标识一个池创建连接池。

第一次连接打开创建的连接池。服务最初创建由 Min 池大小参数定义的连接的数目。

增量池大小属性定义要由连接池服务时需要更多的连接,创建的新连接的数目。

当关闭一个连接时,连接池服务确定是否连接生存期超过了连接生存期属性的值。如果是这样,则连接将关闭 ;否则,该连接可追溯到连接池。

连接池服务关闭未使用的连接每 3 分钟一班。Decr 池大小属性指定可以关闭每隔 3 分钟的连接的最大数目。

此外,您可以看到是否您正在获取超时从 OracleCommand 运行您的查询。查找关于 OracleCommand.CommandTimeout 属性的文件。

此站点为 oracle 命令超时https://forums.oracle.com/forums/thread.jspa?threadID=317603探讨上看一看

官方微信
官方QQ群
31647020