Any database without external library ? lazarus / 16-Databases ---------------------------------------------------------------------- fafastrungen · 2013-01-16 06:26 Hi, is there any component or whatever to manage databases without the need of an external library ?. I don't mind which database I must use as long it doesn't need external libraries. Thanks. ---------------------------------------------------------------------- taazz · 2013-01-16 06:44 there are a number of solutions to that problem 1) file based databases those are TDBF and TSqlLite. for TSQLite you need to compile the dll your self and link the .a file directly instead of the dll there is a thread on this forums on how to do that. 2) pick any database you want that its client does not use any external libraries for example firebird and follow the same steps for staticaly linking the TSQLite to your application. also firebird has a embedded version of its server which you can use to link all the engine inside your application if you want to. 3) use one of existing pascal based databases for delphi and see if you can use it directly with lazarous ---------------------------------------------------------------------- fafastrungen · 2013-01-16 07:24 Thanks for the info. ---------------------------------------------------------------------- tatamata · 2013-01-16 19:12 You can try with zmsql. It's completely written in Lazarus and does not use any external library. It works with flat textual (csv) files, can execute SQL queries, etc.... See here: http://wiki.lazarus.freepascal.org/ZMSQL Download here: http://sourceforge.net/projects/lazarus-ccr/files/zmsql/ ---------------------------------------------------------------------- marcov · 2013-01-17 08:22 If push came to shove, I think I would try to statically link e.g. postgres. ---------------------------------------------------------------------- taazz · 2013-01-18 07:50 as far as I know postgres does not have an embedded database release the only thing you can staticaly link from postgres is the client library and you have to take care th external dependencies like the Open SSL libraries that it might use if you only want to link the client part then it should work but if you need to link the database engine directly in your application that means no external dependencies what so ever then you need to find a database that has an embedded version to link against. ---------------------------------------------------------------------- teos · 2013-01-19 10:40 Look in Third party announcements, you will find my post and HashDbase and parallel hashlist. My work is native database which compiles completely in your executable. I suppose HashdDbase will do the same (without support for data-aware controls). ---------------------------------------------------------------------- BigChimp · 2013-01-19 11:23 Teos, are you saying you're considering open-sourcing your code ---------------------------------------------------------------------- teos · 2013-01-19 19:32 I just answered the question, not aware of the restriction that answering was limited to open source solutions ;-) With all the respect I have for all the solutions mentioned: they are either outdated, still need a DLL or can only read text based CVS files. I did not more than look closely at the native client-servers that are available for Delphi. I run a company and am only working on new products. ---------------------------------------------------------------------- BigChimp · 2013-01-19 19:53 @teos, I was getting at something else: AFAIK, your code has not yet been released, so wouldn't be really useful for the OP. If it were open source, the OP could have a look, evaluate and perhaps add missing functionality himself... As for your remark: dbf are not text files, and as posters mention you can statically link in a library (which would work nicely for e.g. sqlite). I know you prefer to have an all Pascal solution... and I'm happy with using tried and true solutions... so our opinions still differ a bit here. Bottom line: if somebody required of me to produce a Lazarus binary that uses a db without external files, I'd probably statically link in sqlite. ---------------------------------------------------------------------- teos · 2013-01-19 20:07 Quote from: BigChimp on January 19, 2013, 08:53:54 pm@teos, I was getting at something else: AFAIK, your code has not yet been released, so wouldn't be really useful for the OP. If it were open source, the OP could have a look, evaluate and perhaps add missing functionality himself... As for your remark: dbf are not text files, and as posters mention you can statically link in a library (which would work nicely for e.g. sqlite). I know you prefer to have an all Pascal solution... and I'm happy with using tried and true solutions... so our opinions still differ a bit here. Bottom line: if somebody required of me to produce a Lazarus binary that uses a db without external files, I'd probably statically link in sqlite. Ah, okay. Testing can be arranged :-) And even if my code would be open source, I'd recommend him to report suggestions and bugs to me: since I know the code, I could easily implement changes. I think we have a slight misunderstanding: DBF files are binary. With text files I adressed the mentioned CVS based database. Nothing against CVS files, except that information in them is readable for everyone. ---------------------------------------------------------------------- BigChimp · 2013-01-20 08:34 Quote from: teos on January 19, 2013, 09:07:59 pmAh, okay. Testing can be arranged :-) And even if my code would be open source, I'd recommend him to report suggestions and bugs to me: since I know the code, I could easily implement changes. Fair enough, perhaps the OP will take you up on that offer Quote from: teos on January 19, 2013, 09:07:59 pmI think we have a slight misunderstanding: DBF files are binary. With text files I adressed the mentioned CVS based database. Nothing against CVS files, except that information in them is readable for everyone. Didn't know the type of file was an issue for the OP? I'll leave it at that - would be happy to discuss db file types (and presumably confidentiality/integrity issues?) in another thread (in order to keep OT posts to a minimum)...