New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
你好,oracle数据库连接在一定量并发时总是会报错,麻烦解惑 #60
Comments
之所以做这个测试,是因为我的项目生产环境正常,到正式环境就会偶然性的报错 Oracle.ManagedDataAccess.Client.OracleException (0x00001996): ORA-06550: 第 45 行, 第 806 列: Oracle.ManagedDataAccess.Client.OracleException (0x00001996): ORA-06550: 第 2 行, 第 921 列: Oracle.ManagedDataAccess.Client.OracleException (0x00001996): ORA-06550: 第 1 行, 第 96 列: 有的仅仅只是执行一段sql,有时也会报错。 |
你好,这个文档并不能解决问题。能不能麻烦看一下 |
最好先确认下你的正式环境Oracle最大连接数是多大 |
我现在测试这套代码连的库,最大连接是100 |
数据库默认最多是100, 这个要你配置 ,你需要保证同时操作不能超过你的配置上限,1秒内你数据库能处理多少这些都要考虑 |
同一个方法,有时能成功,有时返回ORA-*****之类的错误,大概是哪里出现了问题呢。 |
请问楼主解决了吗?我这边超过20的并发就会报这个错误 |
测试代码:(clone的源码上写的)
`
static int count = 100;
static object _lock = new object();
static void Main(string[] args)
{
int cc = count;
for (int i = 0; i < cc; i++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(
(obj) =>
{
try
{
//var rr = new Demo.Test2().GetTest();
var rr = new Demo.Test2().GetTestOrcl();
Console.WriteLine("{0}:{1}", i, rr);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
lock (_lock)
{
count--;
}
}
));
}
while (count > 0)
{
}
test方法查询一个空表
public dynamic GetTestOrcl()
{
var db = GetInstance(SqlSugar.DbType.Oracle, Config.ConnectionString);
return db.Ado.SqlQueryDynamic("select * from v_Advice_Exec");
}
`
错误:
English Message : Connection open error . 连接请求超时
Chinese Message : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,实在找不到原因请先Google错误信息:连接请求超时.
当我把并发数值count改到20,就能正常访问
在连接sqlserver数据库时就不会
The text was updated successfully, but these errors were encountered: