从.NET 3.5平台连接到ORACLE数据库时出现问题
我们目前正在一个配置为Windows服务的VB.Net应用程序中使用Oracle Data Connect dll。我们使用的.Net版本是Framework 3.5,我们连接到Oracle 10g从.NET 3.5平台连接到ORACLE数据库时出现问题,.net,oracle,connectivity,.net,Oracle,Connectivity,我们目前正在一个配置为Windows服务的VB.Net应用程序中使用Oracle Data Connect dll。我们使用的.Net版本是Framework 3.5,我们连接到Oracle 10g 该应用程序不断连接到数据库,并立即关闭该特定实例中的每个连接(数据库连接涉及一种单例设计模式)。我们在DB连接方面更频繁地遇到错误(“连接失去联系””)。在阅读了一些博客之后,我们在连接字符串中添加了一个参数VALIDATE connection=TRUE。此错误已解决,但我们现在收到一条新的错误消
该应用程序不断连接到数据库,并立即关闭该特定实例中的每个连接(数据库连接涉及一种单例设计模式)。我们在DB连接方面更频繁地遇到错误(“连接失去联系””)。在阅读了一些博客之后,我们在连接字符串中添加了一个参数VALIDATE connection=TRUE。此错误已解决,但我们现在收到一条新的错误消息,“连接请求超时”我看到的唯一使用.NET/ODP.NET的Oracle数据提供程序指定超时的connectionstring选项如下所示:
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;
您可以在此处获得更多示例:
以下是描述:
默认情况下,将启用连接池。这一个控制池机制。连接池服务通过使用ConnectionString属性来唯一标识池来创建连接池
打开的第一个连接将创建连接池。该服务最初创建由最小池大小参数定义的连接数
Incr Pool Size属性定义了当需要更多连接时连接池服务要创建的新连接数
当连接关闭时,连接池服务确定连接生存期是否已超过连接生存期属性的值。如果是,则连接关闭;否则,连接将返回到连接池
连接池服务每3分钟关闭一次未使用的连接。Decr Pool Size属性指定每3分钟可以关闭的最大连接数
此外,您可以查看运行查询的OracleCommand是否超时。
查找有关OracleCommand.CommandTimeout属性的文档
请在此网站上查看有关oracle命令超时的讨论