Porting applications from CEDB to EDB
Howdy from MEDC!
If you are porting your apps to target Windows Mobile 5.0 you might be interested in porting your existing CEDB app to EDB.
I have written a whitepaper that outlines how to do this. You can find it at the following location.
https://liebela.net/cedb2edb.doc
(Note that I editted the old link again - this time we have a direct link to the document - finally!).
-Luis E. Cabrera
Comments
Anonymous
May 10, 2005
I am getting an Error 403. Can you give access to the document? Thanks.
Keep blogging for us envious developers not in Vegas. :)Anonymous
May 11, 2005
could you please make the document a little more available?
I tried subscribing to the group but it seems that no-one is watching membership requests.
If you post a link to a document in a weblog I would expect it to be more or less public available, not hidden behind a membership only group.
I am very interested in the document so I hope it will become more available soon.
Regards
RutgerAnonymous
May 16, 2005
Noticed that I changed the link. - this group should let anyone join it to read the document - it does not require approval. We are looking for a better solution to post files like this from the blog.Anonymous
May 19, 2005
Hi,
Still not able to access the document.
Do you have an alternate solution? Can you make it avilable under the Mobile Solutions Partner Program site?Anonymous
May 19, 2005
Ok, I changed the link one more time... this time we have a direct link. Sorry for the previous links.Anonymous
July 25, 2005
Looks like who ever designed EDB APIs forgot a BIG requirement.. The ability to manuliate the "dirty" flag for the record.
Without this ability you can not backup and restore the conents of the database without marking every record as changed and forcing every record to be sent back to the desktop during the desk sync...
APIs like CeGetReplChangeBitsEx no longer work.
Would be nice to have a post some where that suggests an alternative workaround...
Jim R.
jimtrowii@yahoo.comAnonymous
August 24, 2005
Where can I find the FileDB.zip file?Anonymous
September 27, 2005
I also would like to see the sample code.
I'm stuck getting ERROR_INVALID_PARAMETER calling CeCreateDatabaseWithPropsAnonymous
November 11, 2005
Where can I find the FileDB.zip file?
It is an object embedded in the Word document at http://liebela.net/cedb2edb.doc . Just double-click where it says FileDB.zip and Voila!Anonymous
February 23, 2006
Posted by: Sue Loh
Apparently I missed this post on the Windows Mobile team blog a long time back. ...Anonymous
February 26, 2006
Is CEDB still usable on the current version of WM 5? I upgraded my project from EVC++ to VS 2005 and updated deprecated functions where I could; however I don't see a replacement for CeOpenDatabaseEx2 - I'm getting a #pragma deprecated error C4995 building with that.
Is there a way to get this to compile (avoid the pragma error) or a replacement function I should use? We'll change it over eventually but we need a working app right now as a baseline.
DaveAnonymous
February 27, 2006
Made this change in windbase.h and I can now compile; not sure why it is an error rather than a warning:
//#pragma warning(error:4995)
#pragma warning(warning:4995)Anonymous
April 13, 2006
Hi Dave,
CEDB is still usable, however if you can convert to EDB that is the better choice.
EDB API uses CeOpenDatabaseInSession for opening a database.Anonymous
June 05, 2006
I think CEDB is not supported on Windows Mobile 5.0. Since i built the application for Mobile 5.0 successfully. I used "#define EDB" in my evc code as suggested in document in the link provided above. The application was built successfully, though i did not changed the DB function calls. But when tested on the device, it does not create the database. Since it gives errors in DB. I just kept my DB functions as it is. Is it the problem?
Can anyone tell about it?Anonymous
June 05, 2006
Ashok,
As I mentioned in item 4, the APIs are extremely similar... but their use sometimes changes slightly. You have to be careful on the arguments you pass into the EDB APIs.
I pasted item 4 below:
4. Read the description of the EDB API on msdn
The names of the APIs used for EDB are usually similar to those used for CEDB, but you need to make sure the arguments you pass to them are correct. Let’s take CeOidGetInfoEx2 as an example. Looking at the documentation for both EDB and CEDB we notice that the signature of this API is the same in both cases:
BOOL CeOidGetInfoEx2(
PCEGUID pGuid,
CEOID oid,
CEOIDINFO* poidInfo
);
Notice that the use is slightly different though. On the EDB version,
poidInfo->wVersion should be set to CEOIDINFOEX_VERSION. This is not obvious unless you carefully read the description of the parameters and for the EDB version.Anonymous
June 05, 2006
The comment has been removedAnonymous
September 19, 2006
It has come to my attention that I should call out that ISVs should use CEDB for ActiveSync "Sync Service Providers". CEDB is required for "legacy" SSPs (those not using the Airsync protocol). EDB doesn't support the dirty bit (CeSetReplChangeBitsEx ) used by the ActiveSync Manager, however CEDB does.
Thanks!
-LuisAnonymous
October 03, 2006
So if you have to #define EDB in order to create/use EDB databases, does this consequently break access to CEDB databases? How would we then migrate an existing CEDB database volume if we couldn't access them both within the same application? In looking at windbase.h, it looks like a number of key constants are changed if EDB is #defined, which I would think would tend to break CEDB support.Anonymous
October 11, 2006
Hello Is there any sample code available for .NET, for how to access a EDB-Database? Thanks SvenAnonymous
July 15, 2008
Hello i have an application running on a SYMBOL PDA with Pocket Pc 2003 and i have to port to a SYMBOL whit Windows Mobile 6.0. This application have the data base control whith ADO CE 3.0 so, i'm trying to porting ADOCE30 to EDB (for windows mobile 6.0). Could you help me? I don't know what i have to do. I'm using the following files: VOConnection.cpp Encapsulates ADO Connection COM Object VOConnection.h Header file for VOConnection class VORecordset.cpp Encapsulates ADO Recordset COM Object VORecordset.h Header file for VORecordset class Thanks.Anonymous
July 15, 2008
My e-mail is mawoferty@gmail.com ThanksAnonymous
August 22, 2008
Hi, I have ported large Windows CE app from PocketPC 2002 to PocketPC 2003, WM 5.0 and WM6.0 devices. The app uses CEDB (about 80 tables some with cca 20 000 records) and I didnt make any big change in the enviroment settings. Everything seems to be working well, except speed of the app. On PocketPC 2003 is working fast but on WM5.0 is about 5 times slower. There is import/export of the whole DB done quit often and it makes an user angry as on PPC2003 it takes about 2 min while on WM5.0 about 30-40min :o(. Do u have any idea why is the CEDB so slow on WM5.0 and what do you recomend me to do? thanks a lot MiroAnonymous
February 11, 2009
Hi, What kind of encryption is applied to EDB when the wszPassword volume option is used? I am interested to know if it complies to any standards. Many Thanks James Davis