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

王朝mssql·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

在我写了《在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)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航