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

我的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 }

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

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

SQL Server--频繁建立连接和断开连接的更多相关文章

  1. 未找到或无法访问服务器 请验证实例名称是否正确并且SQL Server 已配置为允许远程连接

    无法连接到sql server 2008服务器 报下错误 其他信息    在与SQL Server建立连接时出现与网络相关的或特定于实例的错误 未找到或无法访问服务器请验证实例名称是否正确并且SQL ...

  2. 请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)

    程序异常,错误信息:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (pro ...

  3. 本地SQL Server数据库提示网络问题无法连接

    运行程序时发现本地SQLserver数据库无法连接,提示信息为:在与SQL Server 建立连接时出现与网络相关的或特定与实例的错误.未能找到或无法访问服务器.请验证实例名称是否正确并且SQL Se ...

  4. 配置sql server 2000以允许远程访问 及 连接中的四个最常见错误

    地址:http://www.cnblogs.com/JoshuaDreaming/archive/2010/12/01/1893242.html 配置sql server 2000以允许远程访问适合故 ...

  5. 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题

    原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会. ...

  6. Java分别与MySQL、Oracle、SQL Server数据库建立连接

    1.与MySQL连接 jar包下载地址: Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动(MySQL的jar包) String u ...

  7. sql server 2008 在与 SQL Server 提示建立连接时出现与网络相关的或特定于实例的错误

    原文地址:http://zhidao.baidu.com/link?url=Ndav32DO9zL5XnltqoqlhvKHbJv_n3Zwihhw4cwF9ffNq8hb8z7h7n3vJVfoeW ...

  8. sqlserver2008:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。

    在开始菜单中找到: 进入,点击左侧SQL Server服务, 将SQL Server(MSSQL.....)服务开启, 即可成功连接.

  9. System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. ...

随机推荐

  1. linux 常用命令。

    /* Linux常用命令? 1 查看 ls             展示当前目录下的可见文件   ls -a         展示当前目录下所有的文件(包括隐藏的文件)   ls -l(ll)     ...

  2. 2022.02.05 DAY2

    前言 今天陪老姐送对象去安庆了,上午还去了西风禅寺求了个签,第一次拿到中评签,看来今年还需要继续努力哈哈哈.一直到晚上才有时间去做点题目,今天依旧是leetcode. 题目 leetcode 1 两数 ...

  3. 从我做起[AutoMapper实现模块化注册自定义扩展MapTo<>()].Net Core 之二

    AutoMapper实现模块化注册自定义扩展MapTo<>() 我们都知道AutoMapper是使用的最多的实体模型映射,如果没有AutoMapper做对象映射那么我们需要想一下是怎么写的 ...

  4. JDK停止工作

    问题:在服务器上运行程序,有时会出现JDK已停止工作,如图: 解决:在网上查找了很多资料,主要有以下几点 1.程序冲突,回想近期是否新安装了程序,将该程序进行关闭之后,再运行程序 2.异常未处理,即代 ...

  5. ARP数据包分析

    转载请注明来源:https://www.cnblogs.com/hookjc/ 本机IP:192.168.0.1 (c0 a8 00 01)本机MAC:00-50-56-c0-00-01目标IP:19 ...

  6. js _proto_和prototype 区别 剖析

    首先,要明确几个点: 1.在JS里,万物皆对象.方法(Function)是对象,方法的原型(Function.prototype)是对象.因此,它们都会具有对象共有的特点. 即:对象具有属性__pro ...

  7. Java中的equals和==的区别以及几个常用的object中的方法简单的调试方法

    一.equals 1.equals:是Object类中的方法,只能判断引用类型 2.默认判断的是地址是否相等(判断两个参数是否是同一个对象),子类中往往重写该方法,用于判断内容(值)是否相等 二.== ...

  8. make小tip

    总所周知make一般需要Makefile才能编译相关源码,但也可以无需Makefile就能编译一些简单的源代码. 在算法竞赛里,一道题的源程序一般只有一个文件,此时用Makefile显得十分累赘,但如 ...

  9. JDK线程池

    简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力,但频繁的创建线程的开销是很大的,那么如何来减少这部分的开销了,那么就要考虑使用线程 ...

  10. 2、Linux基础--常用系统命令与快捷键

    笔记 1.昨日问题 1.mac系统虚拟机的问题 2.虚拟机连不上网 1.xshell连接不上 1.虚拟网络编辑器和vmnat8网卡设置错误 2.ping不通百度 1.DNS IP编写错误 2.网卡的网 ...