C#连接数据库代码报超时ora-12171

c#连接数据库,超时报错。原因:此数据库地址为远程连接地址,偶尔会连接不上。
我开发的传染病上报信息,5分钟自动传一次,但偶尔就会有一次连接数据库超时,会报错。
怎么修改一下,能解决报错的问题?

img

这个地方感觉是不是可以找个C#的连接池来管理连接了,这样每次都连接一次对资源的消耗很大的,导致后续就连不上了

以下答案引用自GPT-3大模型,请合理使用:

。

解决方案:
1. 先做服务器的网络连接测试,看是否有数据库连接超时的问题。
2. 检查超时参数是否正确,在C#中使用OracleConnection实例了解超时参数以及其他参数;
3. 尝试将连接字符串中的ConnectionTimeOut参数调整一下,比如30秒,来避免发生连接超时的情况;
4. 使用ConnectionPooling属性可以减少创建新的连接的次数,从而减少发送的报文数,提高连接数据库的速度;
5. 使用try-catch结构,当出现异常时可以进行重连操作。

以下是代码示例:
string connString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));User Id=scott;Password=tiger;Connection Timeout=30;Connection Pooling=True;"; 

try
{ 
     using (OracleConnection conn = new OracleConnection(connString)) 
     { 
        conn.Open(); 

        //通过conn实例,执行sql语句 

        conn.Close(); 
    }
}
catch 
{
    //TODO:处理连接超时的异常
}

如果我的回答解决了您的问题,请采纳我的回答