SQL Server 2005上的ADO.NET 2.0
SQL Server 2005对于应用开发业提供了一系列新的功能,不过很多需要通过ADO.NET 2.0来访问。根据笔者的经验,如果您确定您的产品或者项目依托于SQL Server 2005,而不是做数据库产品无关的通用产品的话,完全可以考虑这些新的特性,但是要注意这些特性很可能会改变您的很多应用架构。
不会影响到系统构架的新特性如下:
(1)新的数据类型,包括XML数据;
(2)支持Snapshot级的事务隔离级别;
(3) 支持系统快速高可用功能的Mirroring;
但是,下面一些功能将会影响到您的系统架构:
(1)一步的SQL Server访问
(2)MARS (Multiple Active Result Set),不仅可以让您复用与数据库的连接,而且还可以在源数据更新的时候,主动根据SQL Server触发更新。
事务的控制上,ADO.NET 2.0可以借助SQL Server自己的事务机制或者System.Transactions的支持,可以用非常简单的方式使用本地或者分布式事务。如果你的数据操作仅仅限于当前一个固定的SQL Server,那么笔者建议您采用Promotion的轻量级交易机制。你所要做的就是在SqlConnection的ConnectionString属性定义时增加一个Enlist关键字即可,这样当你的ADO.NET访问涉及DML操作时,CLR会自动为您增加一个事务,保证操作的原子性。但如果你的操作不仅仅限于当前SQL Server,还要访问其他异构数据库或者队列之类的其他对象,那么您需要分布式事务的支持,这时候您需要在DTC的调度下,同时使用SQL Server 2005本地事务、System.Transactions和System.Data.SqlClient三者,把整个处理包装到一个代价比较昂贵的分布式交易中。总而言之,到底要使用那种事务处理,要看您的应用需要。
笔者要提醒您注意的是,在CLR的托管代码支持下,SQL Server 2005采用CLR 事务和T-SQL的事务有很大的区别:
CLR中定义的包括事务的处理内容必须被ROLLBACK或者COMMIT,除非SQL Server在处理内容没有执行结束之前出现严重错误,导致内容不能执行结束。
(1)出现事务嵌套时,内部事务不可以ROLLBACK或者COMMIT外部的事务。
(2)不要试图提交非本Function或者Procedure的事务,这样会导致Run-Time Error。
(3) 试图回退非本Function或者Procedure的事务时,会导致事务执行挂起,借助该特性可以用来调试事务内部的内容。
XML的串行化支持
SQL Server 2000仅仅提供了有限的HTTP直接访问支持,但是在引入了CLR 集成后,Internet / Intranet应用可以借助于XML串行化,直接以XML方式访问系统的用户自定义类型数据,尤其对于给予HTTP访问BLOB对象的时候也可以支持,此外可以在SQL Server内部通过该特性访问Web Service。
(责任编辑 火凤凰 sunsj@51cto.com QQ:34067741 TEL:(010)68476636-8007)
| 共3页: 上一页 [1] [2] 3 | ||
|
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||