zoukankan      html  css  js  c++  java
  • SQL Server--频繁建立连接和断开连接

    使用数据库时,不建议一直与数据库保持连接,最好用时连接用完断开连接。

    我的C#程序中采用“用时连接用完断开连接”的方式:

    1. 之前是C#程序调用本地数据库,没遇到问题;
    2. 后来改为C#程序通过IP地址连接远程数据库,在某次读取中遇到“在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 指定的网络名不再可用。)”的报错。

    网上查到有这样处理的:SqlConnection 连接对象在高并发线程频繁的打开和关闭导致的,所以处理方式就改成了只有在不使用连接的时候才关闭它。

    怀疑是因为改为连接远程数据库后,连接数据库受网络的影响,才报错的。

     也怀疑是using(){}用的不完全对,其处理托管资源与非托管资源时有区别。

     1         //增删改方法
     2         public static int Execute(string sql, Object param)
     3         {
     4             using (IDbConnection conn = GetConnection())
     5             {
     6                 return conn.Execute(sql, param);
     7             }
     8         }        
     9 
    10         //连接数据库
    11         private static SqlConnection GetConnection()
    12         {
    13             SqlConnection connection = new SqlConnection(connectionSqlserver);
    14             try
    15             {
    16                 connection.Open();
    17             }
    18             catch (Exception e)
    19             {
    20                 logger.ErrorFormat("Exception: {0}", e.Message);
    21                 Console.WriteLine("Exception: {0}", e.Message);
    22                 DbConnected = false;
    23                 return null;
    24             }
    25             DbConnected = true;
    26             return connection;
    27         }

    记录一下,后期找找原因。

    参考:在从服务器接收结果时发生传输级错误

  • 相关阅读:
    kali国内更新源
    nmap教程(下)
    nmap教程(上)
    apt-get常用命令
    linux如何制作程序桌面快捷方式
    linux怎么把英文版火狐浏览器改成中文
    百度地图demo
    普元云计算-一起来DIY一个人工智能实验室吧
    普元云计算-拥抱人工智能,从机器学习开始
    普元云计算-Java开发者的PaaS指南
  • 原文地址:https://www.cnblogs.com/zwh1993/p/12517069.html
Copyright © 2011-2022 走看看