Susan Loh posted a FAQ on Windows CE databases to her blog.  I want to emphasize one of the things she said:

Q: When I use ADO .NET to build database applications for CE 4.x / PocketPC 2003, how do I create a CEDB database?  It only seems to let me use SQL-CE.

A: You can’t.  They (ADO) dropped support for CEDB.  🙁  This means, your only choice for developing ADO applications that use CEDB is to develop using the CE 3.0 / PocketPC / PocketPC 2002 tools (eg. eVC 3.0) with ADOCE.  Your application should work on newer OS versions but you have to use the old tools.  Probably you are just best off switching to SQL-CE.

Switching to SQL CE is indeed good advice.  In fact, we’re doing it. 

The next version of Windows Mobile is going to ship with SQL CE 3.0 in ROM on every device.  No longer will there be any question over how strongly we feel about this technology.  No longer will there be any confusion over whether you have to pay anything to use it.  No longer will there be this extra CAB you have to install, taking up precious user storage space.

And with SQL CE being used by Pocket Outlook, you can count on it being well scalable, robust, and powerful. 

Apps using CEDB should continue to work* but considering that SQL CE will be in ROM and have great tools support in Whidbey, now is definitely a good time to start planning a migration.

* Exception: If your code gets at the PIM databases by using CEDB (an undocumented and unsupported approach) rather than the POOM APIs, there will obviously be some problems.  Fortunately, improved POOM APIs will remove your need to go straight to CEDB. 

[Author: Robert Levy]

Comments (5)

  1. Chris Auld says:

    Peter Foote, one of the CF MVPs has a nice ADOCE library available if you really want to be able to do it.

  2. Sue Loh says:

    If you want, I’ll take the ":-(" out of my post! Glad to hear it’ll be in ROM, I think that will take away most people’s reservations about using it.


  3. rakhmat says:

    "The next version of Windows Mobile is going to ship with SQL CE 3.0 in ROM" what version is it? i have Windows mobile 2003 with me, and i have found it use a database (even i can’t access it directly but it shown when I explore my device via active sync) do i can use it (database server) to develop an aplication or i have to install SQL CE separately (since i have found no documentation (yet) that explain what database server used in me devices)

  4. Robert Levy says:

    By "next version" I mean the one we are currently working on and not yet released. For 2003 devices, you could use CEDB which is built in to the platform and used by our apps. However, the recommended approach is to install SQL CE since this is what we are focusing on moving forward.

  5. rashmi says:

    whatz the difference between sql ce and sqlmobile can we use same codebase to support both?