Recent

Author Topic: Embedded (Compiled) Database Engine Options  (Read 3997 times)

tshahzad

  • New member
  • *
  • Posts: 9
Embedded (Compiled) Database Engine Options
« on: February 22, 2017, 08:31:57 am »
What are embeded database options like Absolute Database or DBIsam for Lazarus with SQL support. I am developing a cross platform application to be deployed on Windows,Linux and Mac. I do not want to deploy database DLL or .do files with my applicatiion. Database is small with 20 Tables and maximum of 20,000 rows in some tables. What are the options other than DBF and PDX file formats ???

Thaddy

  • Hero Member
  • *****
  • Posts: 10449
Re: Embedded (Compiled) Database Engine Options
« Reply #1 on: February 22, 2017, 08:40:26 am »
Use Sqlite and link it statically.

Note dbf never supported SQL anyway.
Sqlite is a modern format that fully supports SQL. SQlite is also the de facto standard for embedded, statically linked, databases. (Before anyone starts shouting firemonkeybirdapes again  >:() which means the database is in an easily interchangeable format.
If you don't need SQL there are many more options, like TBufDataset or - indeed - TDbf, which supports dBase language queries.
« Last Edit: February 22, 2017, 08:57:04 am by Thaddy »
When you ask a question that is actually answered in the documentation, you are either lazy or a moron.

mangakissa

  • Hero Member
  • *****
  • Posts: 1090
Re: Embedded (Compiled) Database Engine Options
« Reply #2 on: February 22, 2017, 08:49:34 am »
Quote
Before anyone starts shouting firemonkeybirdapes again[/quoted]
Only if you're working on desktops/laptops :D
Lazarus 2.06 (64b) / FPC 3.0.4 / Windows 10
stucked on Delphi 10.3.1

Thaddy

  • Hero Member
  • *****
  • Posts: 10449
Re: Embedded (Compiled) Database Engine Options
« Reply #3 on: February 22, 2017, 08:51:10 am »
Only if you're working on desktops/laptops :D
No. Also for Android  sqlite is the default. It's Google's favorite. It's Mozilla's favorite Nothing to do with desktop.... silly... O:-) We are talking about embedded, even more precise:statically linked embedded: one executable to deploy.
BTW: We are lucky to have mOrMoT which is an exemplary implementation for servers, using Sqlite as the default...

If you want to have full SQL support in a single executable, use SQlite. As it stands, any other advice puts you on the wrong track.
« Last Edit: February 22, 2017, 09:01:52 am by Thaddy »
When you ask a question that is actually answered in the documentation, you are either lazy or a moron.

mig-31

  • Sr. Member
  • ****
  • Posts: 278
Re: Embedded (Compiled) Database Engine Options
« Reply #4 on: February 22, 2017, 09:24:52 am »
Other option, Firebird, but in this case you still should distribute dll/so with your application in application folder.
Lazarus 2.0.6 - CentOS 7.x, Mageia 7.1

Thaddy

  • Hero Member
  • *****
  • Posts: 10449
Re: Embedded (Compiled) Database Engine Options
« Reply #5 on: February 22, 2017, 09:29:53 am »
Other option, Firebird, but in this case  with your application in application folder.
"you still should distribute dll/so"

Can you READ? "you still should distribute dll/so"
Obviously not... "you still should distribute dll/so"

And plz: never ever recommend that firemonkybirdyape thing again. It works - sometimes -, but that's about it. And nobody uses it outside of the Object Pascal community and only because of historical reasons. Could have been good, should be better. Time caught up with it. "you still should distribute dll/so"
The question was about a SINGLE executable, with NO dependencies and supporting sql as a query language. "you still should distribute dll/so"
<grumpy mode firmly on... >:D >:D >:D> Oh, well... :) I hereby grant you permission to use Firebird if you must. Just don't let us know you do... 8-) Just lie and tell us you are actually using Sqlite ... :o

"you still should distribute dll/so" is plain sick.
« Last Edit: February 22, 2017, 09:46:51 am by Thaddy »
When you ask a question that is actually answered in the documentation, you are either lazy or a moron.

Dimitrios Chr. Ioannidis

  • Full Member
  • ***
  • Posts: 133
    • Nephelae
Re: Embedded (Compiled) Database Engine Options
« Reply #6 on: February 22, 2017, 11:26:20 am »
@tshahzad

What are embeded database options like Absolute Database or DBIsam for Lazarus with SQL support. I am developing a cross platform application to be deployed on Windows,Linux and Mac. I do not want to deploy database DLL or .do files with my applicatiion. Database is small with 20 Tables and maximum of 20,000 rows in some tables. What are the options other than DBF and PDX file formats ???

You could use ZMSQL ( written in Free Pascal ) or the mighty mORMot which use SQLite statically linked ( warning shallow learning curve ) ...


@Thaddy,

And plz: never ever recommend that firemonkybirdyape thing again. It works - sometimes -, but that's about it. And nobody uses it outside of the Object Pascal community and only because of historical reasons.

You don't know what you are talking about ...

The question was about a SINGLE executable, with NO dependencies and supporting sql as a query language.

I used to have fb embed in delphi 7 single exe apps with BTMemoryModule for years ...

regards,
« Last Edit: February 22, 2017, 11:43:19 am by Dimitrios Chr. Ioannidis »
Dimitrios Chr. Ioannidis
http://www.nephelae.eu

 

TinyPortal © 2005-2018