Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

crenz

macrumors 6502a
Jul 3, 2003
619
27
Shanghai, China
SqLite is a wonderful open-source database that will store all your data in one file. You can just link the library into your executable. It is cross-platform and cross-language, so it should be rather future proof for your project. Also, it is rather speedy and supports transactions.

No need to use Java, unless you have lots of time on your hands :).
 

Palad1

macrumors 6502a
Feb 24, 2004
647
0
London, UK
Of course!

I'm stupid not having thought of it first.
Use Berkerley DB !!

It's used by most unix apps on osX

you don't have any server just a lib that groks SQL on a single file, you have to provide a lock mechanism, but for single user it's great...

Too much win2k coding with sql server clouded my judgement :/
 

Nermal

Moderator
Original poster
Staff member
Dec 7, 2002
20,664
4,086
New Zealand
Palad1 said:
Of course!

I'm stupid not having thought of it first.
Use Berkerley DB !!

I just took a look at Berkeley DB, and I don't agree with the licence. I can't make my app open-source, and since I couldn't find any commercial pricing information, I assume it's expensive.
 

Palad1

macrumors 6502a
Feb 24, 2004
647
0
London, UK
Nermal said:
I just took a look at Berkeley DB, and I don't agree with the licence. I can't make my app open-source, and since I couldn't find any commercial pricing information, I assume it's expensive.

Are you absolutely positive about this?

SubVersion uses Berkley DB and I'm fairly sure it is licensed under the GPL. Now that I come to think of it, Apache seems to use BDB as well (there's a dependency to bdb when you install apache2 using dselect under osX)

Cheers,
Palad1
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Palad1 said:
Are you absolutely positive about this?

SubVersion uses Berkley DB and I'm fairly sure it is licensed under the GPL. Now that I come to think of it, Apache seems to use BDB as well (there's a dependency to bdb when you install apache2 using dselect under osX)

Cheers,
Palad1

SubVersion and Apache are both Open-Source. Nermal cannot Open-Source his app. Is Berkley DB GPL, LGPL or something else. If it's LGPL you can compile it a stand alone library and link against it without open sourcing your own app.
 

Nermal

Moderator
Original poster
Staff member
Dec 7, 2002
20,664
4,086
New Zealand
The license for each of these products permits you to use the software at no charge under the condition that if you use them in an application you redistribute, the complete source code for your application must be available and freely redistributable under reasonable conditions. If you do not want to release the source code for an application you redistribute, you may purchase a license from Sleepycat Software.

It says that if I use Berkeley DB in my app then I must open-source it. But maybe you're right about making it separate.

Here's the licence.
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Nermal said:
It says that if I use Berkeley DB in my app then I must open-source it. But maybe you're right about making it separate.

Here's the licence.

This is similar to the GPL, not the LGPL. If you link against this (even dynamically) you would have to release the full source to your app if you distribute it (of course if you are writing it for internal use only you can probably get round this as you are not distributing it).
 

iJed

macrumors 6502
Sep 4, 2001
264
10
West Sussex, UK
crenz said:
SqLite is a wonderful open-source database that will store all your data in one file. You can just link the library into your executable. It is cross-platform and cross-language, so it should be rather future proof for your project. Also, it is rather speedy and supports transactions.

No need to use Java, unless you have lots of time on your hands :).

I have to agree that SQLite is a very good choice. Its not like your average DBMS which runs as a separate process and is instead a tiny library with easy to use C functions. Its mostly a lot better than the rather poor mysql database since it supports basic features like nested queries (which mysql unbelievably doesn't yet!) SQLite is also included in Tiger but you could easily install it with your app for older OS version should you choose to support them. The biggest limitation for me in SQLite (other than not being able to connect to it via a network) is that it doesn't support "ALTER TABLE".

Another great DBMS is PostgreSQL. This ahead of mysql in almost every respect and is, in my opinion, an all round better solution. It supports just about every feature of modern SQL including PL/SQL. Unfortunately I doubt it supports Java stored procedures but I seriously doubt you will be using them. You could include an installer for this with your application.

Here are the technologies I'd avoid:
1) RealBasic - Expect people to hate you and your application if you use this. I've never found anything I can stand using written in this pile of ****.

2) MySQL - Of all the biggish open-source databases this is probably the weakest. It popular but there are much much better solutions out there. Version 5 is looking promising though (and even 4.1 seems to make some great additions).
 

Nermal

Moderator
Original poster
Staff member
Dec 7, 2002
20,664
4,086
New Zealand
I'll take a look at SQLite when I get a chance. I've had some other things spring up, so porting the app across is now a low priority.
 

ibook_g4_user

macrumors newbie
Apr 13, 2004
20
0
One of the new features in tiger is direct access to SQLite, its very easy to use.. read more about it on Appleinsider..man.. tiger will make everything much easier for devolopers.
 

Nermal

Moderator
Original poster
Staff member
Dec 7, 2002
20,664
4,086
New Zealand
Yeah, I saw that. I'm still really busy with other stuff though and haven't even looked at my app for about 2 weeks now :eek:
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.