views:

510

answers:

7

Hi,

I'm looking for a desktop/embedded database. The two candidates I'm looking at are Microsoft SQL Server CE and Oracle Lite. If anyone's used both of these products, it'd be great if you could compare them. I haven't been able to find any comparisons online.

The backend DB is Oracle10g.

Thanks!

Update: Clarification, the business need is a client-server app with offline functionality (hence the need for a local data store on the client)

+9  A: 

If the backend database is Oracle 10g it will probably be easier for you to use Oracle Lite - that way you don't have to use two completely different SQL dialects in the same project.

BTW, In my product I use SQLite as the desktop database

Nir
+4  A: 

I also used SQLite as a desktop database. It's lightning quick and doesn't need a seperate process or any prior installation. All you need is a library to access the data as part of your code.

In light of your clarification I'd evaluate both OracleXE and Oracle 10g Lite before the others. Stick with the same tech, SQL/Oracle have some funny disagreements about SQL syntax and datatypes. I imagine you'd get the same issue with SQLite.

Rob Stevenson-Leggett
A: 

You might want to look at Oracle XE. I cannot remember all of the differences, but O-Lite didn't fit my project needs. Oracle XE is a very good database for local development.

Brad

Brad Bruce
+3  A: 

Perhaps I'm not fully understanding the need here. You are developing against 10g, but for your own test/dev environment you want a more lightweight database?

Or, are you developing an application that synchs with 10g database when online, but when offline uses a local store?

In both cases, I'd recommend staying with Oracle only because it will simplify your code.

In the first case, I'd wonder why you don't have a 10g QA machine somewhere that all the developers can connect to.

FlySwat
The second case you mentioned is what I'm talking about: "an application that synchs with 10g database when online, but when offline uses a local store." I edited the question with this clarification.
Jonathan Rauch
+4  A: 

I'll second the vote for SQLite. I'm not sure what you're trying to accomplish but if you're doing any sort of local storage with syncing SQLite is a good choice. It has very widespread adoption and a lot of community support.

JC Grubbs
A: 

As @Nir mentioned, it's better to have homogeneous environment. However if you decide to not use Oracle Light, I would highly recommend you to take a look at Firebird. It's one of best choices for desktop database scenarios.

aku
+1  A: 

One advantage you have with SQL Server CE is that it is free and you can use the Sync Framework to syncronize it with any ADO.NET accesible database.

Also, the same SQL CE file is usable from the PC and mobile devices, and if you develop your application using .NET, you can use the same code for the desktop and the mobile device without changes.

Alejandro Mezcua