Free BDE alternative

Hi.
I'm looking for a *free* alternative for BDE so that all the database access mechanism at a final stage is self-contained in one exe, no additional installations, drivers, etc. Ideally, the database should be kept in one big file, possibly with encryption, crc checks, etc. It also should be compatible with standart Delphi data avare controls.
cuuuAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
jcondeCommented:
Hi!

This will help you out a lot.

http://www.kylecordes.com/bag/index.html

more specific:

http://www.kylecordes.com/bag/list.html

Some of them are free, some aren't ... some of them are TDataSet descendants for specific databases, but over all its a very complete list.
0
 
DeerBearCommented:
Hi,

I've always wondered why someone would want a BDE-alternative <g>.

The point isn't in the concept itself, but in its implementations.

Having a general-purpouse Database Access Mechanism means by default
less power and less performance, because it must tolerate several different
database systems.

If you really want to have a "general" database framework, I'd better see an
interface based system for Delphi components.

You can plan the interfaces to be the most possible "general" and then
implement them in components which access a SPECIFIC database system.

There's no fault in having an "IQuery" interface, while it would be very complicated to
have a "TQuery" component for all databases.

My 2c,

Andrew
0
 
Wim ten BrinkSelf-employed developerCommented:
Keep it simple and take a look at ADO. If all your users are using Windows XP or perhaps W2K then ADO should not be a real problem. ADO seems to be the standard database system these days, on Windows systems.
For older Windows version you can always install the required ADO components, if need be. But the user might already have them if he's using MS Office.
0
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

 
FrankTheRatCommented:
Thought I might contribute an alternative, just to be different!

Try Firebird. This is the Opensource (i.e. free) version of Interbase. It's small, fast, reliable, and you can connect to it without the BDE, ADO, ODBC etc. with standard IB components.

See http://www.firebirdsql.org/

FrankTheRat.
0
 
FeralCTOCommented:
You can get everything you're looking for (except the *free*) with TinyDB (www.tinydb.com). It's not free although it is quite inexpensive at $89 with source code. The following is right off their web site:

It provides access to a flat file in its own format without BDE, and doesn't need any installation and configuration. With TinyDB engine, all data can be stored in only one database file. TinyDB engine is an ideal BDE replacement for small database applications in Delphi and C++Builder.

Inherited from TDataSet, supports all visual DB-aware components;
Without BDE, and no DLL, no OCX;
All data in ONE database file;
Supports BLOB data Compression;
Supports database Encryption, and CRC32 protection;
Supports In-memory database;
Supports Multi-indexes, Master-Detail relationship;
Maximum records quantity over 100,000;
TinyDB Desktop tool, detailed manual, and abundant samples;
0

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
 
cuuuAuthor Commented:
I am experimenting with TinyDB right now, and $89 really isn't such a big problem.
One thing distracts me - the word "Tiny" in its title. What if i had 10 tables with several K of records all related to each other? In documentation it's mentioned that this db can handle more than 100'000 records but, emm, what  with performance? :)
So I think I'll give it some crash tests ;)
Since this db cannot handle SQL requests (as for me, well maybe it can and i'm just dumb :/ ), it may actually not be possible to bring all these complex relations to life.
DeerBear - i guess i didn't make myself clear - I am definitely not looking for another bloated db interface like BDE, or, even worse, ADO (lots of users will be forced to update their DCOM, ADO and whatnot, in this case it's unacceptable). I'm looking for a lightweight DB system with no additional drivers and no specific requirements for environment. I hope i'm not dreaming :)
0
 
FeralCTOCommented:
Another one that you might want to look at is the Advantage Database Server (ADS). I didn't mention it before because it didn't meet all of your criteria. Specifically, the data is stored in more than one file and ADS doesn't compile into the program. However, it has several attractive features.

* It's *free* for single user use.
* It supports a subset of ANSI-92 SQL.
* If you ever needed to scale up, there's a client/server version ($)

I've used it and thought it worked quite well. www.advantagedatabase.com 
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.