ComponentAce AbsoluteDB lazarus / 16-Databases ---------------------------------------------------------------------- grl · 2015-06-25 09:48 Hi! We should replace some older Windows-App (not developed by us) by some new linux piece of software. The windows-version stores data as a ComponentAce AbsoluteDB file. There's no possibility to convert the files on some windows machine first, as there are users all over the world - so we have to open them in our linux-program (at least readonly to import the data in some new file format). ComponentAce is not willing to support anything other than Delphi on Windows - so no support from there - and they don't provide a file format definition. So - anyone any experiences in reading AbsoluteDB in FPC/Lazarus? regards Lukas ---------------------------------------------------------------------- Thaddy · 2015-06-25 11:51 From what I understand from this link they provide a two way tool: http://stackoverflow.com/questions/7451454/absolute-database-file-to- sqlite-converter ---------------------------------------------------------------------- grl · 2015-06-25 12:11 Quote from: grl on June 25, 2015, 11:48:55 amThere's no possibility to convert the files on some windows machine first, as there are users all over the world - so we have to open them in our linux-program (at least readonly to import the data in some new file format). Their convert tool is on Windows only. As I said - we have to open the files in our linux app - or at least have a convert-tool on linux... regards Lukas ---------------------------------------------------------------------- taazz · 2015-06-25 12:29 Quote from: grl on June 25, 2015, 02:11:14 pmQuote from: grl on June 25, 2015, 11:48:55 amThere's no possibility to convert the files on some windows machine first, as there are users all over the world - so we have to open them in our linux-program (at least readonly to import the data in some new file format). Their convert tool is on Windows only. As I said - we have to open the files in our linux app - or at least have a convert-tool on linux... regards Lukas why? that asked use wine to run their convertion tool in linux it should be possible. ---------------------------------------------------------------------- marcov · 2015-06-25 13:04 If there is no edition available without source so that you can port yourself, there is not much you can do. So then the solutions are more of the desperate kind, like a service that allows to upload DBs for conversion and get them back, but that has legal angles, or Wine that has setup and maintenance issues. ---------------------------------------------------------------------- grl · 2015-06-25 13:17 Quote from: taazz on June 25, 2015, 02:29:41 pmwhy? that asked use wine to run their convertion tool in linux it should be possible. We do not control the end-user machines. So requireing them all to install wine just to start some convert-tool to reuse their data is not an option - we would need a 24/7 support department to do that. Our philosophy is to deliver just one single binary that has everything linked in - so the end-user just opens his files as he used to with the old version of the software. The application will be delivered for Windows (no problem here) or Linux (yes, there's some request for that and we try to push this because to avoid some issues whe have with windows as an OS) and perhaps (planning state so far, but Lazarus is cross platform, we already did that - so why not?) OSx. A smaller subset of the app could be used on some small hardware like a Pi. we would loose some of the main advantages of Lazarus when creating something that depends on Windows (or some Windows emulation). We own a license with sources - but afaik it's heavily related to some windows-API-calls - so porting is not that easy. We are considering a port of at least a subset of the code - but before doing that we want to know if there's someone that has already some experiences with the problem. Uploading the files to some webservice is an Idea worth thinking about - I'll talk to the customer about that option. But I want to ask the same question again: Anyone any experiences in reading AbsoluteDB files in FPC/Lazarus? regards Lukas ---------------------------------------------------------------------- taazz · 2015-06-25 13:49 Quote from: grl on June 25, 2015, 03:17:49 pmWe do not control the end-user machines. So requireing them all to install wine just to start some convert-tool to reuse their data is not an option - we would need a 24/7 support department to do that. Our philosophy is to deliver just one single binary that has everything linked in - so the end-user just opens his files as he used to with the old version of the software. 1) how many clients you have in linux that have data in an absolutedb database? My guess is you do not have any yet. 2) if all your clients are in windows wouldn't be easier to create a new free version for windows that will introduce the new database (hopefully not sqlite) ? Quote from: grl on June 25, 2015, 03:17:49 pm We own a license with sources - but afaik it's heavily related to some windows-API-calls - so porting is not that easy. We are considering a port of at least a subset of the code - but before doing that we want to know if there's someone that has already some experiences with the problem. 3) if everything else fails you absolutely have to create a converter that can read absolutedb from non windows, you have the code of the file access to use as a stepping stone. Quote from: grl on June 25, 2015, 03:17:49 pm Anyone any experiences in reading AbsoluteDB files in FPC/Lazarus? I doubt anyone will spend his time on a closed source database format with out reason (aka commercial need) I'm currently trying to port turbo power flashfiler to lazarus and I am accumulating some knowledge on the subject but its a bit to early for me to claim anything, suffice to say that its not easy it requires time and a lot of low level knowledge including but not limited to disk access and threads. ---------------------------------------------------------------------- JD · 2015-06-25 14:04 Absolute DB has a database manager that allows you to export data to SQL scripts. http://stackoverflow.com/questions/7451454/absolute-database-file-to- sqlite-converter http://www.componentace.com/absolute-db-screenshots.htm Maybe you can run these in Wine on your Linux machine and then convert the data to an open format that Lazarus/FPC supports. The users don't have to install Wine. Have them send you their data. I have a question however, isn't it a multi-user setup with just one database or do you have multiple databases in different locations? Obviously it is easier to take just one database and convert it in Wine on your machine rather that converting hundreds of databases! That may be something you can explore. JD ---------------------------------------------------------------------- grl · 2015-06-25 14:13 Quote from: taazz on June 25, 2015, 03:49:13 pm1) how many clients you have in linux that have data in an absolutedb database? My guess is you do not have any yet. We have several requests from different areas. And everyone of them has data created with the old software. Quote from: taazz on June 25, 2015, 03:49:13 pm2) if all your clients are in windows wouldn't be easier to create a new free version for windows that will introduce the new database (hopefully not sqlite) ? They are not "our" clients - we're developing for a customer that has clients that request linux. They're scientific groups on different universities - not "normal" customers. They aquire data from some scientific measurements. Most of them have several thousand files (every scientific experiment is at least one file). As I said we did not write the windows-software - so we don't have sources. Creating a Windows-version with a "new" file format would require: - writing a new windows-software that supports both the old and the new format. As AbsoluteDB is Delphi only we would have to do that using Delphi - which we don't want to use. - The user would have to open every file in the "intermediate software" first, then do a "save as" and then open it in the "final software". That's NOT an option. There are several users in every scientific group and they're changing quite frequently. The use has to be "smooth". Quote from: taazz on June 25, 2015, 03:49:13 pm3) if everything else fails you absolutely have to create a converter that can read absolutedb from non windows, you have the code of the file access to use as a stepping stone. Which is exactly what I was talking about. And I already said, that we know that porting is not that easy. This is why I was asking for someone that has Quote from: grl on June 25, 2015, 03:17:49 pmany experiences in reading AbsoluteDB files in FPC/Lazarus? Quote from: taazz on June 25, 2015, 03:49:13 pm I doubt anyone will spend his time on a closed source database format with out reason We have a reason to do so - so there might be someone else that already had that reason. This is why I'm asking here. regards Lukas ---------------------------------------------------------------------- grl · 2015-06-25 14:19 Quote from: JD on June 25, 2015, 04:04:57 pmMaybe you can run these in Wine on your Linux machine and then convert the data to an open format that Lazarus/FPC supports. The users don't have to install Wine. Have them send you their data. This is not an option - I just explained (it seems we where writing at the same time) that they are not "our" customers. And as all the work is for some scientific environment there is no support organization or a classical commercial structure that we could use for support.... Quote from: JD on June 25, 2015, 04:04:57 pmI have a question however, isn't it a multi-user setup with just one database or do you have multiple databases in different locations? Obviously it is easier to take just one database and convert it in Wine on your machine rather that converting hundreds of databases! That are thousands of small files. Every scientific experiment is one file. And -  as an additional problem - no one knows how many files on which systems on which continent.... The goal is to provide a "fire-and-forget" app that does not require any user interaction to reuse the "old" data.... regards Lukas ---------------------------------------------------------------------- taazz · 2015-06-25 14:36 Quote from: grl on June 25, 2015, 04:13:09 pm We have several requests from different areas. And everyone of them has data created with the old software. Not an answer. Is the old software running on linux? ---------------------------------------------------------------------- grl · 2015-06-25 14:39 Quote from: taazz on June 25, 2015, 04:36:54 pmQuote from: grl on June 25, 2015, 04:13:09 pm We have several requests from different areas. And everyone of them has data created with the old software. Not an answer. Is the old software running on linux? First line from first post: Quote from: grl on June 25, 2015, 11:48:55 amWe should replace some older Windows-App (not developed by us) by some new linux piece of software. What do you think it is running on? regards Lukas ---------------------------------------------------------------------- taazz · 2015-06-25 14:52 so there is no client with out windows and all the debate is mute. Have them run a converter on windows and pass the converted file on linux. ---------------------------------------------------------------------- grl · 2015-06-25 15:00 Quote from: taazz on June 25, 2015, 04:52:26 pmso there is no client with out windows and all the debate is mute. Have them run a converter on windows and pass the converted file on linux. Do you ever read the posts you're responding to? No, we don't want any windows-software, as we don't have access to the old program and therefor have no possibility to implement some "save as" in the old software. We have to develop from scratch - and we are not willing (and it would be quite stupid) some windows-software with delphi first just to allow them to open files on windows (which they might not have) and then reinvent the wheel on linux again with the new data format. Did you ever work with scientiests? There is some new guy that gets a new (in this case linux) machine but he has to work on the data, another scientiest recorded 5 years ago.... So he has a directory with maybe 750 files (but it might be 7500 or 75 as well) and no access to the machine they where recorded with - not even information about that machine. Again: A windows converter is NOT an option! regards Lukas ---------------------------------------------------------------------- taazz · 2015-06-25 15:27 Quote from: grl on June 25, 2015, 05:00:49 pmQuote from: taazz on June 25, 2015, 04:52:26 pmso there is no client with out windows and all the debate is mute. Have them run a converter on windows and pass the converted file on linux. Do you ever read the posts you're responding to? Nope, I'm just posting with an interval to level up my post count. Quote from: grl on June 25, 2015, 05:00:49 pmNo, we don't want any windows-software, as we don't have access to the old program and therefor have no possibility to implement some "save as" in the old software. Neither do you apparently. Since your application is a new improved piece of software it is illogical to add any kind of conversion build in the application especially if the old application is no longer supported/developed it is a waste of time. Build a small utility that converts from one format to the other that runs only on windows, it might not be part of your application but it is part of your service to your customers. Quote from: grl on June 25, 2015, 05:00:49 pm We have to develop from scratch - and we are not willing (and it would be quite stupid) some windows-software with delphi first just to allow them to open files on windows (which they might not have) and then reinvent the wheel on linux again with the new data format. edit: sorry pressed post by mistake. Never said use delphi. You have the full source of the library, make sure it can be compiled with lazarus on windows only and no stupid is to pay someone 50+ per hour for the next 3 months for an import just because you are stuck on a way of thinking for a product that is not yet materialized. Quote from: grl on June 25, 2015, 05:00:49 pm Did you ever work with scientiests? only on the financial market not with more theoretical topics and they where happy to have a way to automate from one format to an other externally with out the need for a specific analysis application. Quote from: grl on June 25, 2015, 05:00:49 pm There is some new guy that gets a new (in this case linux) machine but he has to work on the data, another scientiest recorded 5 years ago.... So he has a directory with maybe 750 files (but it might be 7500 or 75 as well) and no access to the machine they where recorded with - not even information about that machine. sorry the smart solution is an external tool. ---------------------------------------------------------------------- grl · 2015-06-25 15:36 Quote from: taazz on June 25, 2015, 05:27:19 pmsorry the smart solution is an external tool. No. rest of post: > /dev/null Lukas ---------------------------------------------------------------------- taazz · 2015-06-25 15:46 Quote from: grl on June 25, 2015, 05:36:53 pmQuote from: taazz on June 25, 2015, 05:27:19 pmsorry the smart solution is an external tool. No. rest of post: > /dev/null Lukas In that case I can write for you the import procedure that can be executed on any os you like pm me for the details. ---------------------------------------------------------------------- grl · 2015-06-25 16:03 Quote from: taazz on June 25, 2015, 05:46:44 pmIn that case I can write for you the import procedure that can be executed on any os you like pm me for the details. That's an interesting option (ok, depending on the price...) I'll send you the details.... regards Lukas