黎波

Windows Mobile Development for Line of Business
posts - 185, comments - 1259, trackbacks - 43, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

SQL Server精简版支不支持ASP.NET?

Posted on 2006-11-29 23:20 黎波 阅读(2543) 评论(9)  编辑 收藏 所属分类: SQL Server Compact

在我写了《在SQL Server Express版和Compact版之间做出选择》之后,园子里有些朋友问到SQL Server精简版(sqlce)支不支持ASP.NET?当时我也不确定,我自己测试过确实不行,但是觉得怪怪的,没有道理不支持啊!

今天看了Steve Lasker的blog,终于搞清楚了!

由于sqlce默认不支持ASP.NET,很多用户因此对MS提出请求,不断抱怨,甚至恐吓(如果你不让它支持,我就使用XX产品)。Steve Lasker终于坐不住,出来澄清这一切

其实sqlce的市场定位非常明确,主要是为了解决智能客户端的离线数据存储和同步问题。这个在《在SQL Server Express版和Compact版之间做出选择》也有阐明了。因此,微软并没有针对sqlce作为Web站点数据库的使用场景进行优化。在Web站点多用户访问和数据并发的环境下,sqlce的性能不理想,跟SQL Server Express不能比。所以建议Web站点还是采用SQL Server Express或SQL Server数据库。要知道sqlce是内嵌数据库引擎,而SQL Server Express是数据库服务。现在SQL Server开发团队最近发布的Hosting Toolkit SQL Server可以协助你在Web服务器上部署SQL Server Express。

那么,ASP.NET到底能不能使用sqlce作为数据存储呢?可以!

默认情况下,在ASP.NET的工作进程中打开sqlce的数据库连接时,sqlce将被封锁。你可以通过下面的代码解除这个限制,这行代码在RTM版中会有所变,因为sqlce已经改名了,不再叫SQL Server Everywhere:
AppDomain.CurrentDomain.SetData("SQLServerEverywhereUnderWebHosting", true)

要注意的是,在ASP.NET中不能使用sqlce的数据同步功能。

总之,多大的鞋配多大的脚,大家还是不要在ASP.NET中使用sqlce,如果偏要用,那请注意后果了!

参考:
SQL Server Compact Edition under ASP.net and IIS
SqlCeConnection Class (System.Data.SqlServerCe)

Feedback

#1楼    回复  引用  查看    

2006-11-29 23:44 by apan      
即使能用,从性能考虑还是不要用的好。毕竟有Express版嘛。

#2楼 [楼主]   回复  引用  查看    

2006-11-29 23:49 by Bob Li      
@apan
很多人主要是觉得它身材小巧(1m多)和部署方便(XCOPY),现在流行绿色软件:D

#3楼    回复  引用  查看    

2006-11-30 00:24 by apan      
@Bob Li
呵呵,天下没有免费(便宜到可以忽略不计)的午餐。对于,请教Bob Li,你觉得compact与mobile edition(sqlce3.0)之间有什么区别吗,除了Steve Lasker的blog里说的那两个以及桌面应用方面。
我从mobile editon 升级到compact时,没有发现除了上面几点以外的任何不同。有没有从性能、效率、功能上的详细分析以及参数对照呢?如果没有的话,讲讲mobile editon 与everywhere之间也行。

#4楼    回复  引用  查看    

2006-11-30 00:26 by apan      
@Bob Li
好象以哪里看到文章说,compact可以smart client的离线缓存解决方案不错。您有过这样的应用吗?

#5楼 [楼主]   回复  引用  查看    

2006-11-30 00:43 by Bob Li      
@apan
针对mobile平台,印象中是没有什么区别,这个版本从功能的角度并没有变化,只是增加了支持平台,并且对这些新的平台进行性能优化。在下一个版本3.5将会在数据同步这块有较大的改进:D
关于离线数据的我以前写过一个随笔:
http://www.cnblogs.com/upto/archive/2006/08/25/CacheDataWithSSEv.html

#6楼    回复  引用  查看    

2006-11-30 09:54 by 尧尧      
我想真真想用的人很少吧,毕竟性能和作用和服务器不能比的

#7楼 [楼主]   回复  引用  查看    

2006-11-30 10:26 by Bob Li      
@尧尧
一般头脑清醒的人不会这么用:D

#8楼    回复  引用  查看    

2006-11-30 12:27 by Dah      
Sqlce不知道比Access多了些什么..
也没有sp, 也没有trigger

#9楼 [楼主]   回复  引用  查看    

2006-11-30 13:25 by Bob Li      
继承了SQL Server CE的特性,支持RemoteDataAccess和Merge Replication两种数据同步机制,解决智能客户端的离线数据存储问题:D

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-02-06 14:13 编辑过


相关链接: