ADO.net的SqlConnection问题
来源:互联网 发布:电脑上sql是什么软件 编辑:程序博客网 时间:2024/05/21 23:57
挺早以前的帖子了,
Ado.net间歇性出现莫名其妙问题的一种解决办法
====================================================
某网友来信
程序代码中写“select column1 from table1”
返回DataSet ds
有时候访问ds.Table[0]提示:Cannot find table 0.
有时候访问ds.Table[0].Rows[0]["column1"]提示:Column “column1” does not belong to table Table
大部分情况下,程序正常,但是偶尔会出现上面的错误。
因此,我考虑,是不是sqlServer本身返回ds的时候就没有正确的返回结果?但是什么会导致sqlServer没有正确的返回ds呢?大家帮我想想,拜托了。
我也是有时候出现你的这个问题,不知道怎么解决?
=======================================================
因为有几个网友都来信问过此类问题,所以我统一回复一下。一般出现此类问题,就应该是连接出问题了。
- Asp.net和WebService的程序,都是多线程的,一般有多少人同时访问,就有多少个SqlConnection。
- 数据库的连接数量一般时几十个,总数是比线程数量要小(并发可以达到几百,连接数只有几十)。这就是为什么说晚申请,早释放的原因,因为数据库连接的资源是非常宝贵的。
- SqlConnection的Close方法是把Connection还给连接池,而Dispose的方法是彻底关闭和释放连接。因此,在程序中切记不可手工调用Dispose的方法 。一是不安全,二是效率不高。
- 在程序中,有一些人喜欢用Static的SqlConnection,这也是不对的,在多线程的情况下, 请避免使用静态SqlConnection实例 。静态实例,在多线程情况下,会产生系统紊乱。
- 还有一些在程序中忘记Close,看起来不会有什么问题,但是会导致连接耗尽,系统的并发数量上不去。因此,使用完毕尽快关闭数据库连接 。
- 出现此类问题的原因,我感觉是程序中先调用了Close,再调用了D ispose,假如Thread1申请了SqlCon1,Close后,SqlCon1还给了线程池,但是Thread1还是持有SqlCon1对象,Thread2这时候申请连接,线程池把SqlCon1给了Thread2,SqlCon1在执行查询时,Thread1调用了SqlCon1的Dispose,那么此时发生了什么?肯定Thread2的查询被中断,你去访问DataSet中的Table或者Table中的Column,就会没有。出现此类问题,只有一个解释:查询被中断了。
- ADO.net的SqlConnection问题
- ADO.NET的SQLConnection
- ADO.NET 主要的三个对象(SqlConnection/SqlCommand/SqlDataReader)
- ADO.NET 之sqlConnection 对象使用摘要
- ADO.NET学习之SqlConnection,SqlCommand
- SqlTransaction、SqlConnection和SqlCommand对象实现ADO.NET事务处理
- 黑马程序员之ADO.NET学习笔记:SqlConnection(连接对象)
- ADO.NET + DataGrid的问题
- [VB.NET]ADO.NET的Update问题
- ASP.NET动态网站开发培训-29.ADO.NET技术(一、SqlConnection类)
- ado.net connection 的localhost问题
- c# ADO.net 单引号 双引号的问题
- 关于ADO.NET连接数据库的问题
- 有关SqlConnection of .Net 2.0的紧急报告!
- .NET 使用ORACLE ADO.NET 经常会遇到的问题
- 解决VS2012中没有ado.net实体数据模型(ADO.NET entity data model)的问题
- 解决ADO.NET的Bug带来问题的思考
- ADO.NET 的好处
- Ubuntu下如何查找、安装你想安装的软件
- Java与模式 迭代子模式 Iterator Pattern
- 用密钥登录linux服务器(续)
- Centos上安装lamp
- C++中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
- ADO.net的SqlConnection问题
- ASP.NET MVC 1.0 发布了
- SAP最近这两年不容乐观
- 理解结构体的对齐及sizeof
- 利用鼠标键盘钩子截获密码
- 文章-1
- 系统程序员成长计划-并发(二)(下)
- 淘宝网禁售无证食品和保健品 问题商品将被屏蔽
- 山东省第二次土地调查——影像元数据批量生成——新旧图幅号转换