代码改变世界

随笔分类 - ADO.NET

SqlBulkCopy 引发的 transport-level error

2008-07-29 21:00 by 晓风残月, 1064 阅读, 收藏, 编辑
摘要:导入的数据源字段的长度大于目标数据库中的字段,将引发异常:A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.)并且目标数据库... 阅读全文

关于 MSDTC 分布式事务两个常见错误

2007-09-09 22:52 by 晓风残月, 2495 阅读, 收藏, 编辑
摘要:假如分布式事务的客户端和服务器端(可能N个)不在同一台服务器上,如分别为 Web服务器 和 Db 服务器,可能会出现以下两个错误 1. 该伙伴事务管理器已经禁止了它对远程/网络事务的支持 通常这由安全配置引起的,对于 xp sp2/2k3+ ,默认可能关闭了远程客户端访问 MSDTC, 如何配置见网友 小小蚂蚱 图文并茂的说明: http://blog.csdn.net/bo310/archiv... 阅读全文

ADO.NET 中 DataReader 各种读取方式性能比较/测试

2007-08-08 05:11 by 晓风残月, 6211 阅读, 收藏, 编辑
摘要:很早就做了这么一个测试,一直没有发布出来,觉得 ADO.NET 星球原著民,应该都知道 DataReader.GetXXX(>) 比 Convert.ToXXX(DataReader[>]) 性能佳,且前者是诸多读取方式最佳的。刚才看到 http://community.csdn.net/Expert/TopicView3.asp?id=5696773 中关于 box/unbox 问题,以及前几... 阅读全文

Sql Server 中模拟数组

2007-07-30 23:54 by 晓风残月, 761 阅读, 收藏, 编辑
摘要:SQL Server 不支持数组参数,然而作为二维关系的“表”事实上不就是一个“数组”吗?这里通过自定义函数分隔目标字符串,并作为表变量结果集返回。自定义函数可以直接用在常见的 DML 语句中,如 SELECT。对于某些多对多应用中,前端应用程序可以直接将多的那边键连接成字符串,连同一的那边的数据一次性传入存储过程,执行数据写入,不必在应用程序,遍历循环多次执行 Command。使用示例 CREA... 阅读全文

如何对 DataTable 执行 SELECT DISTINCT

2007-07-16 20:57 by 晓风残月, 7479 阅读, 收藏, 编辑
摘要:在 ADO.NET 1.x & 2.0 中, System.Data.DataTable 类虽然公开 Select 方法,但不支持 DISTINCT 关键字,而我们在实际开发中免不了有这样的需求:对已有 DataTable 进行 SELECT DISTINCT ,返回指定列具有唯一值的行,这些行存在新的 DataTable 中。对于此问题,很早就有人提出来了,大家也做了很多尝试。看到 CSDN ... 阅读全文

如何获取自增长列(标识列)的ID,并写入另一张表(多对多关系插入数据示例)

2007-07-05 00:02 by 晓风残月, 4554 阅读, 收藏, 编辑
摘要:问题CSDN 里面不时有初学者疑惑:如何获取自增长列(标识列)的ID,并写入另一张表。场景这里选择典型的多对多关系,并以常见的 User-Role 作为 Demo,同时显示 Access 和 Sql Server 版本关系图实现要点1, 如何获取新插入记录生成的 ID:Sql Server 和 Access(当使用 Jet ADO,当然包括ADO.NET,连接时)均支持 @@Identity 全局... 阅读全文

交叉表的简单实现2:使用前端程序实现

2007-05-24 03:27 by 晓风残月, 1943 阅读, 收藏, 编辑
摘要:上篇介绍了 交叉表的简单实现1:使用存储过程,这里采取在前端程序实现。实现要点:1。读取所有目标成绩(flatScroreTable)2。从目标成绩中提取考试时间(不重复),作为交叉表的列表头3。从目标成绩中提取考试科目(不重复),作为交叉表的行表头4。根据2动态构建一个DataTable(crossScroreTable),此DataTable具有一个科目列,若干考试时间列,以及其他信息。5。将... 阅读全文

交叉表的简单实现1:使用存储过程

2007-05-23 02:36 by 晓风残月, 2516 阅读, 收藏, 编辑
摘要:有位朋友要求帮忙实现交叉表(将某些行变为列),之前虽然实现过,但没有整理,今天顺便整理一下,便于自己以后参考,希望对其他网友有帮助,欢迎指出不足之处^_^数据库中原始数据类似:要求前台显示为:建立表结构: CREATE TABLE [dbo].[t_Score] ( [ScoreId] [int] IDENTITY (1, 1) NOT NULL , [SubjectName] [va... 阅读全文

【收集】ADO&ADO.NET 读取 Oracle 数据集

2007-04-01 10:39 by 晓风残月, 907 阅读, 收藏, 编辑
摘要:开始尝试用存储过程读取Oracle 数据集,收集了一些文章,基本上都来自MSDN:使用 ADO.NET 访问 Oracle 9i 存储过程 http://www.microsoft.com/china/MSDN/library/data/dataAccess/DMSDNorsps.mspx?mfr=true如果包返回多个游标,则 DataReader 会按照您向参数集合中添加它们的顺序来访问这些游... 阅读全文

Oracle:.NET 连接Oracle

2007-03-31 19:12 by 晓风残月, 3169 阅读, 收藏, 编辑
摘要:刚接触Oracle,装好Oracle,什么Server,Client,ODP.NET啊一堆全装上了,利用晚上时间陆陆续续搞了一个终于,从图书馆搜刮了N本与Oracle有关的书,怎么使用企业管理器,怎么建立数据库、管理数据库,还有什么Oracle体系结构(物理存储和逻辑存储),什么Oracle实例啊.......太多的概念了最终还是没有全部搞懂,时间不等人,项目催得仅啊,今天自己通过 Databas... 阅读全文

Invalid attempt to read when no data is present.

2007-01-24 17:31 by 晓风残月, 2177 阅读, 收藏, 编辑
摘要:今天在使用SqlDataReader 读取记录时,竟然出现了如下异常: Invalid attempt to read when no data is present. Description: An unhandled exception occurred during the execution of the current web request. Please review the sta... 阅读全文

ADO.NET 如何读取 Excel (下)

2006-08-26 18:54 by 晓风残月, 10398 阅读, 收藏, 编辑
摘要:应用程序经常需要与Excel进行数据交互,在上一篇文章ADO.NET 如何读取 Excel (上)阐述了基于ADO.NET 读取Excel的基本方法与技巧。今天这里要介绍是如何动态的读取Excel数据,这里的动态指的是事先不知道Excel文件的是什么样的结构,或者无法预测,比如一张.xls文件有多少张sheet,而且每张sheet的结构可能都不一样等等。其实我们可以通过获取Excel的“架构信息”... 阅读全文

ADO.NET 如何读取 Excel (上)

2006-08-15 15:16 by 晓风残月, 15791 阅读, 收藏, 编辑
摘要:经常需要在数据库与Execl之间互导数据。net时代,ADO.NET可以使用使用Microsoft.Jet.OleDb访问访问Excel,网上已经有很多类似的资源,最典型也是最简单的可能如下:(asp.net环境) // 连接字符串 string xlsPath = Server.MapPath("~/app_data/somefile.xls"); // ... 阅读全文