first_page

You Can’t Use SQL Server Everywhere in ASP.NET Like SQLite in PHP

My ancestors tell me that thinking is measuring—and part of measurement is comparing. So it came to pass, verily, verily, the comparison between SQL Server Everywhere and SQLite would take place. Steve Lasker is a real time saver and, in “Information about SQL Server Everywhere Edition (SSEv),” tells me to quickly put my instruments of measurement down:

Q: Why won’t SSEv be enabled for web applications?

A: SSev is targeted at client database scenarios. The SQL Server SKUs, such as SQL Express are targeted as “data as service”. By maintaining these two product lines as separate targeted scenarios we can enable features that would only apply to each scenario. One size fits all means one size fits no-one.

SSEv will use the same set of classes that SQLCE and SQL Mobile have used. System.Data.SqlServerCe.* Because of this, if a website developer started with SSEv then wanted to switch to one of the Server based SQL SKU’s, such as SSE, they would have to change their ADO.net data access code.

If a developer was building a client application and started with SSEv and wanted to scale their application to multi-user, they wouldn’t necessarily get rid of their local database. The design we’re shooting for is for developers to keep their local database using SSEv and synchronize the data in their SSEv database with a server database using one of the various sync technologies. Developers can use Merge Replication or Remote Data Access (RDA), a lightweight sync technology available to the SQL Mobile platform that will equally apply to the SSEv product. In addition to these sync technologies, we are working on a new set of sync components based on the ADO.net programming model that we hope to ship in the Orcas product.

“One size fits all means one size fits no-one” seems a bit misleading to me. What I sense here is more clumsy ways of expressing the concept of private property under the guise of ‘protecting’ developers from themselves. I can test the validity of this Microsoft view by experimenting with the SQLite wrappers for the .NET Framework in ASP.NET and see what kind of trouble I get into…

What’s really interesting is using a .NET application writing to a SQLite database file ‘offline’ and then using rsync linked to an online Linux box reading the same SQLite file from PHP. I am sure that Microsoft has very big clumsy ways to reduce such a tiny scenario to the absurd.

rasx()