今天踩了一个坑,用了一个static对象,存储了Connection,导致了并发量大时(35/s)出现单个连接的数据库请求堆积,以及并发Open导致的异常,最终使服务下线. 排查中发现有些概念不清的地方,做了一下梳理. 1.在项目启动后,首次获取数据库连接的时候(SqlConnection conn = new SqlConnection(strConnection)),ADO.net会创建一个连接池(连接数量可用Min Pool Size设定),并返回一个连接. 2.在拿到连接后,需打开连接(…
一.ADO.Net数据库连接字符串 1.OdbcConnection(System.Data.Odbc) (1)SQL Sever 标准安全:" Driver={SQL Server}; Server=Aron1; Database=pubs; Uid=sa; Pwd=asdasd; " 信任的连接:" Driver={SQL Server}; Server=Aron1; Database=pubs; Trusted_Connection=yes; " (2)SQL…
http://www.cnblogs.com/liuhaorain/archive/2012/02/19/2353110.html 题外话 通过前几章的学习,不知道大家对ADO.NET有一定的了解了没有.撇开文章质量不讲,必须肯定的是,我是用心去写每一篇文章的.无论是是在排版上,还是在内容选取上我都花了不少心思.我希望通过本系列文章,无论是新手还是老手,在ADO.NET上都能有所收获.如果大家觉得有帮助,我希望能得到您的推荐和关注,让我知道您对我的肯定.如果大家觉得我写的不好,我也很乐意听取批评…
Connection: 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令. Command: Command对象就是用来执行数据库操作命令的.比如对数据库中数据表的插入,删除,更新等都要通过Command对象来实现的.可以执行查询(SELECT语句),执行插入(INSERT语句),执行更新(UPDATE语句),执行删除(DELETE语句).这个对…
前一阵开发一套系统,同组的同事提供了一个数据库连接组件,是他自己封装的,使用了自定义的连接池,用着很是不爽,而且经常会因为程序不严谨的原因,导致连接池里的连接被用完,也导致其他错误,因此我想自己研究一下ado.net 的连接池. 其实很早以前,我就接触过连接池,只是从来没有实际使用过,在我的印象里,一个连接池应该是跟SqlConnection,MySqlConnection等差不多,都是实现了IDBConnection 接口,这样程序在使用的时候,是没有任何代码入侵,只是在new 一个conne…
为了保持开发效率,以及保持代码优雅,项目中引用了EntityFrame.但是又因为某些报表功能需要大量计算,所以又要求直接使用ADO.NET,调用存储过程进行计算. 于是乎webconfig文件中就会出现两种数据库连接字符串. <!--EntityFrame--> <connectionStrings> <add name="GpsDBEntities" connectionString="metadata=res://*/Models.DbMo…
DataAdapter: string connectionString = "data source=127.0.0.1;Database=dong;user id=sa;password=521314";            SqlConnection cn = new SqlConnection(connectionString);            //SqlConnection conn = new SqlConnection("connectionStrin…
数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet对象读取和处理数据源的数据 前面已经学习了如何创建数据库,现在了解一下关于Connection对象的一些内容. Connection对象是连接程序和数据库的"桥梁",要存取数据源中的数据,首先要建立程序和数据源之间的连接. 而SqlConnection对象是连接SQL Server类型数据…
ADO.NET: 数据访问技术 就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 是所有数据访问技术的基础,也有更高级的奇数,不过都是基于ado.net的 连接数据库基本格式: 需要两个类 1.数据库连接类  SqlConnection 2.数据库操作类  SqlCommand //1.连接数据库 //写连接字符串,立马就要想到有4点要写完,1.连接哪台服务器,2.连接哪个数据库,3.连接用户名,4.密…
一.ADO.NET基础 程序和数据库交互,要通过ADO.NET进行:通过ADO.NET就能在数据库中执行SQL了.ADO.NET中提供了对不同数据库的统一操作接口(ODBC).另外还有一种操作数据库的接口是JDBC. ADO.NET中通过SqlConnection类创建到SQL Server的链接,Sqlconnection代表一个数据库的链接,ADO.NET中的链接等资源都实现了IDisposable接口. 实现了IDisposable接口的对象,在使用完了,要进行资源的释放.调用Dispos…