Does SQL Server Mobile Edition Work on non-Windows Mobile Computers? … Well, Sort of … (or Can I populate SQL Mobile databases on a server?)

You Can Take it With You

Syndication

News

  • Don't miss the next Windows Mobile Webcast... Unit Testing for Mobile Devices: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032382824&EventCategory=4&culture=en-US&CountryCode=US.

Unlike the server version of SQL Server 2005, SQL Server 2005 Mobile Edition (SQL Mobile) does not require a dedicated executing process. Instead, SQL Mobile is basically just a DLL that loads into the calling process - each database exists as a separate file that is easily copied between devices. Even without a dedicated process, SQL Mobile supports multi-process, multi-threaded database access and provides atomic transactions and rich SQL language support. Oh yea - if that wasn't enough, its FREE.

In addition to all these features, SQL Mobile (unlike its predecessor SQL Server CE), runs on non-Windows Mobile devices (desktop computers, etc.). Well it sort of runs on non-Windows Mobile devices - that's where things get a little complicated.

If you've created a Pocket PC or Smartphone application in Visual Studio 2005 that uses a SQL Mobile database, you've probably experienced SQL Mobile's desktop support. From within Visual Studio 2005 you can create, view and manipulate a SQL Mobile database located on the desktop computer and the project will automatically copy the database to the device when the application is deployed. So what's the complication?

Well, if you try to use SQL Mobile on a non-developer desktop computer, in most cases it will not work. It turns out that Microsoft, at least for now, has chosen to limit the scenarios where SQL Mobile will execute on a non-Windows Mobile device.

For SQL Mobile to execute on a non-Windows Mobile computer, one of the following must be true.

  • The computer is a Tablet PC
  • Visual Studio 2005 is installed
  • SQL Server 2005 (or SQL Server 2000 SP3a or later) is installed

The key is that SQL Mobile is only to be used for "mobile" scenarios and the database must ultimately be deployed to a mobile device or Tablet. In the case of the Tablet PC, it's considered a mobile scenario so it's explicitly supported. Visual Studio 2005 support is pretty obvious, it’s the tool used to create applications so SQL Mobile is supported for mobile application development. The SQL Server 2005 case, addresses a key production requirement.

In many scenarios, organizations have a number of mobile device users where each user requires that a specific bit of data be loaded on their device (the classic delivery driver scenario) and that data is produced by some production process running on server. Prior to SQL Mobile, attempting to produce a series of database for use on mobile devices was very difficult as the database files could only be produced on an actual mobile device or a device emulator. Now with SQL Mobile, a program running on a desktop/server computer (as long as SQL Server 2005 is installed) can directly produce the SQL Mobile databases files. These files can then be downloaded to the individual devices as a complete database.

So by Microsoft allowing SQL Mobile to be supported on computers that have SQL Server 2005 installed, Yes! - you can populate SQL Mobile databases on a server. In fact, SQL Mobile is even a supported destination in SQL Server Integration Services (the new DTS).

To answer the original question posed in the title: SQL Mobile can run on non-Windows Mobile computers as long as the computer is being used as part of an approved mobile scenario1. By supporting these three non-Windows Mobile device scenarios, Microsoft has addressed the most common challenges to working with mobile databases.

(now… how do we convince them to provide unrestricted desktop/notebook computer support? J)

1For information on setting up SQL Mobile in the various environments (development, server, etc.) checkout Installing SQL Server Mobile.


Posted Mar 01 2006, 09:34 AM by jim-wilson

Comments

Mr. T wrote re: Does SQL Server Mobile Edition Work on non-Windows Mobile Computers? … Well, Sort of … (or Can I populate SQL Mobile databases on a server?)
on 03-02-2006 1:41 AM
F.Y.I. : If you install Microsoft SQL Server Management Studio Express - Community Technology Preview (CTP) November 2005, SQL CE will run on the desktop!
Jim Wilson wrote re: Does SQL Server Mobile Edition Work on non-Windows Mobile Computers? … Well, Sort of … (or Can I populate SQL Mobile databases on a server?)
on 03-02-2006 4:58 AM
Mr. T;

That's a great observation. From what I've heard, the Express product was not actually intended to be supported but somehow slipped through. Whether it will continue to be supported in the future is uncertain - but as you point out, it works for now. :-)
Jim Wilson wrote re: Does SQL Server Mobile Edition Work on non-Windows Mobile Computers? … Well, Sort of … (or Can I populate SQL Mobile databases on a server?)
on 03-02-2006 5:30 AM
To follow up my above comment. I mistakenly said that the Express product was unintentionally "supported". That's not quite accurate. Although SQL Mobile will run if the Express product is installed, I'm pretty certain that its not officially supported.
You Can Take it With You wrote SQL Mobile Supported Environments Simplified
on 03-02-2006 5:48 AM
You Can Take it With You wrote SQL Mobile is now called SQL Everywhere and its true, SQL Everywhere runs everywhere
on 04-06-2006 8:33 AM

Add a Comment

(required)  
(optional)
(required)  
Remember Me?