Recent

Author Topic: *.mdb in Linux  (Read 5049 times)

fr0st

  • Newbie
  • Posts: 2
*.mdb in Linux
« on: July 10, 2011, 08:21:29 pm »
Sorry for my english, i'm russian :)

I have  microsoft access database  file db.mdb, for example.
In Windows programm works correctly.
Can I access to it from Linux -like operating system?
Or I mast use PostreSQL, for example.

jixian.yang

  • Full Member
  • ***
  • Posts: 173
Re: *.mdb in Linux
« Reply #1 on: July 11, 2011, 05:21:05 am »
There are so many high performance database, e.g. SQLite, Firebird and PostreSQL.
On Linux MDB is not a good choice.
I have test SQLite and Firebird.
When the data is writing into the databases(hard drive light is glowing), I turn off the electric power.
After restart the computer, the database is not crached. So I think the two database are so stable.



fr0st

  • Newbie
  • Posts: 2
Re: *.mdb in Linux
« Reply #2 on: July 11, 2011, 08:10:58 am »
so, to write crossplatform application, i must use another DB? Not MS Access.

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: *.mdb in Linux
« Reply #3 on: July 11, 2011, 10:23:09 am »
If you want to use Lazarus/FPC, you can definitely not use Access (.mdb, .accdb) as a cross-platform database.

There are some experimental projects that can write to Access mdb files, but no FPC bindings to them exist. Apart from that, they may not even work correctly.

If you want to have similar functionality, I suggest you look into:
  • Firebird: can do both embedded (have only used it on Windows, might work on other platforms) (single user) and client/server (multiple user), e.g. using SQLDB components built into Lazarus
  • SQLite: embedded (single user); can also be accessed by SQLDB

You could also use PostgreSQL, MySQL if you want to.
FPC SQLDB and MySQL might be a bit tricky because of various versions, but I have never looked into MySQL on Firebird.
PostgreSQL probably makes more sense in a larger environment.

Also ODBC to basically any other RDBMS but I wouldn't recommend that as on Linux/OSX you'd need extra libraries/programs for that (unixodbc or iodbc), which might not be present on end users' systems.

If you ask me, I'd use Firebird so you have the flexibility to use embedded (on Windows, maybe Linux) or client/server. And Firebird scales quite nicely, at least in small to medium size databases, apparently.
If you are sure you'll only need a single user database, I'd go for SQLite, as that is apparently very cross-platform.
<edited 12 July to show I only used Firebird embedded on Windows>
« Last Edit: July 12, 2011, 09:46:58 am by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

 

TinyPortal © 2005-2018