- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了与 Oracle ManagedDataAccess.dll 一起使用的线程代码的问题。为了模拟这个问题,我创建了一个小的测试应用程序,它打开一个连接、执行查询并关闭连接。
发生的事情是,当我运行此代码时,在 conn.open() 语句中随机出现“连接请求超时”(ODP-1000)。现在我在那里做了大量的谷歌搜索,它告诉我池大小太小,但是这里不是这种情况,因为那样我会得到一个“池连接超时”异常(ODP-1012)。我也玩过连接字符串属性,在测试应用程序中,当我设置更大的“连接超时”属性时,我可以让它完美无瑕,但关键是这对我的应用程序没有帮助正在工作。
任何帮助或见解将不胜感激!
class Program
{
static readonly object _object = new object();
static string connectionstring = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oralinux.contoso.com)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DB)));User Id=system;Password=xxxxxx;Pooling=True;Min Pool Size=;Max Pool Size=20;Incr Pool Size=10;Decr Pool Size=1;Connection Lifetime=0;Connection Timeout=1;Self Tuning=false";
static string query = "select to_char(max(end_time),'Mon-DD-YYYY HH24:MI:SS') \"SPFILE\" from V$RMAN_STATUS where object_type='SPFILE' and status='COMPLETED'";
static void Main(string[] args)
{
for (int i = 0; i < 1000; i++)
{
Thread myNewThread = new Thread(DoWork);
Console.WriteLine(i.ToString());
}
}
static void DoWork()
{
lock (_object)
{
DataTable dt = new DataTable();
using (OracleConnection conn = new OracleConnection(connectionstring))
{
conn.Open();
using (OracleCommand cmd = new OracleCommand(query, conn))
{
using (OracleDataAdapter adap = new OracleDataAdapter(cmd))
{
adap.Fill(dt);
}
while (conn.State != ConnectionState.Closed) conn.Close();
}
conn.Dispose();
}
}
}
}
最佳答案
我有一个类似的场景,在轻线程应用程序中快速打开和关闭连接,并在创建连接时随机超时。
在我的例子中,默认的最小连接池大小是 1,托管组件在创建新组件时似乎很慢。我做了什么,关注 this , 被更改 MinPoolSize
我的属性(property)OracleConnectionStringBuilder
到一个比我预期的最大并发调用数(15 MinPoolSize 到 10 最大并发数)稍大的数字,只是为了安全起见。
到目前为止似乎已经发挥了作用。
关于odp.net - Oracle.ManagedDataAccess 连接请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25600358/
我在运行我的代码以从 Oracle DB 获取数据时出现以下错误。 [A]Oracle.ManagedDataAccess.Client.OracleParameter cannot be cast
我计划从 oracle 非托管数据访问客户端转移到托管数据访问客户端。现在我的机器上安装了 ODP.Net,其中包含 DLL - Oracle.DataAccess.dll。但我计划转向 oracle
我开始编写一个将数据从 oracle 数据库复制到 SQL Server 数据库的程序,并立即遇到了内存问题。我正在使用 Oracle.ManagedDataAccess 库(nuget 安装命令:“
在刚接触c#的时候由于公司使用的就是oracle数据库,那么c#怎么连接oracle数据库就成了首要去掌握的知识点了。在那时没有odp.net,但visual studio却对oralce数据库的调
在将Oracle.ManagedDataAccess dll从4.121.1.0版本更新到4.121.2.0版本之后,由于我无法使用NHibernate将CLOB类型的值保存在以前的版本中,因此在客户
我遇到了与 Oracle ManagedDataAccess.dll 一起使用的线程代码的问题。为了模拟这个问题,我创建了一个小的测试应用程序,它打开一个连接、执行查询并关闭连接。 发生的事情是,当我
我正在尝试在应用程序中使用 Oracle 的托管数据访问客户端(版本 4.121.1.0)。我对数据库进行小查询没有问题,但我遇到了返回大结果的查询问题。 我从一个包含大约 137,000 条记录的表
我终于认输并寻求帮助。我想尽办法解决这个问题,但我似乎无能为力。 我正在与:VS2010 C#甲骨文 12cODP.Net 托管121012 我继承了一个同时使用托管和非托管数据访问 dll 的应用程
我找到了 Oracle.ManagedDataAccess.Client driver library比标准的 ODP.NET 250mb+ Oracle 客户端库更容易在我的 .NET 应用程序中使
我在我的 C# (>.NET 4.0) 项目中使用 Oracle.ManagedDataAccess Nuget 包版本 12.2.1100。在我的本地主机上一切正常,但在开发服务器上我遇到了这个异常
我们使用“Oracle.ManagedDataAccess”ODP.NET 驱动程序来访问 Oracle 的数据库。 使用连接字符串连接数据库时: Data Source=(DESCRIPTION=(
我在我的 C# (.NET 4.0) 项目中使用 Oracle.ManagedDataAccess Nuget 包版本 12.1.022。该包会自动在 app.config 文件中创建条目。我如何从该
我正在尝试配置我的解决方案,该解决方案使用 Oracle.ManagedDataAccess 库在连接字符串中使用 TNS 名称而不是显式数据源。在进行任何更改之前,程序运行正常,但我配置 TNS 设
让 .NET 4.6 应用程序与 Oracle 一起工作的最低要求到底是什么? 我们已经在使用 Oracle.ManagedDataAccess 客户端。我们使用 Entity Framework 和
我正在尝试使用 dotnet 核心 Entity Framework dbcontext 脚手架连接到我的 dotnet 核心项目的 oracle 数据库,如下所示: dotnet ef dbcon
我正在使用 OracleBulkCopy 类并引用 Oracle.DataAccess.dll。我想使用 Oracle.ManagedDataAccess.dll 来轻松部署。但是后来我得到了构建错误
我正在尝试使用 Oracle.ManagedDataAccess 6.121.1.0 提供程序实现代码首次迁移,但完全没有成功。 当我收到 ORA 代码时,我假设连接已成功打开。但迁移失败了,因为提供
我正在尝试将 .NET 4.5 Windows 服务从非托管切换到 Oracle.ManagedDataAccess.dll ODP.NET 4.121.1.0。该应用程序本身运行良好。切换到 ODP
问题是: 是否有适用于 .NET 3.5 的 Oracle.ManagedDataAccess 库? 当前应用程序使用 .NET 4.0,但我必须创造机会在具有独立 Oracle 库的 .NET 3.
当我执行我的代码时,出现以下错误: ORA-12550 : The supplied connect descriptor contains illegal syntax. 我检查了 http://w
我是一名优秀的程序员,十分优秀!