> On Jul 13, 2023, at 23:52, Tomer Altman <m...@tomeraltman.net> wrote:
> 
> On 7/13/23 8:55 AM, john wrote:
>> 
>> 
>>> On Jul 13, 2023, at 01:34, Tomer Altman <m...@tomeraltman.net> wrote:
>>> 
>>> On 7/12/23 6:26 PM, john wrote:
>>>> 
>>>> 
>>>>> On Jul 12, 2023, at 16:16, Tomer Altman <m...@tomeraltman.net> wrote:
>>>>> 
>>>>> Hi everyone,
>>>>> 
>>>>> Due to filesystem errors, I had to reinstall MacOS on my 2015 Macbook Air 
>>>>> (current OS version: Monterey 12.6.7). After doing so, and restoring my 
>>>>> files from a TimeMachine backup using Migration Assistant, I started 
>>>>> getting this error when trying to open my accounting file:
>>>>> 
>>>>> "No suitable  backend was found for <FILE>."
>>>>> 
>>>>> (where "<FILE>" is a stand-in for the actual file name)
>>>>> 
>>>>> I was at the time using a version of GnuCash from December 2022. I then 
>>>>> reinstalled using the installer available from gnucash.org (current 
>>>>> version: "5.3+(2023-06-26)" ). Unfortunately, the error persists.
>>>>> 
>>>>> Looking at this error message in the mailing list archives, it seems like 
>>>>> this has something to do with using the SQLite back-end. I looked at the 
>>>>> 'environment' text file, and it is implementing already the environment 
>>>>> variable recommended as a fix:
>>>>> 
>>>>> GNC_DBD_DIR={SYS_LIB}/dbd
>>>>> 
>>>>> It seems like my install is still unable to find the libraries that it 
>>>>> needs, though.
>>>>> 
>>>>> It's unclear to me how to diagnose which version of the back-end my file 
>>>>> is using, since I cannot open it. Using 'file' and 'head' shows that it 
>>>>> is not XML, and I am unable to decompress the file using Gzip. I'm also 
>>>>> unable to open it using the sqlite3 command line tool.
>>>>> 
>>>>> So, two questions:
>>>>> 
>>>>> 1. What's the correct way to verify the back-end type using something 
>>>>> other than GnuCash itself?
>>>>> 
>>>>> 2. What is wrong with my fresh install that is preventing me from opening 
>>>>> up the file?
>>>>> 
>>>>> Thanks in advance for any and all advice and assistance!
>>>> 
>>>> If it's a SQLite file you can open it with sqlite3, provided by macOS. 
>>>> Just open Terminal and run
>>>>    sqlite3 /path/to/my/gnucash/file
>>>> You can use the `.tables` command to list the tables and `.schema 
>>>> <tablename>` to show the structure and compare it with 
>>>> https://wiki.gnucash.org/wiki/SQL.
>>>> 
>>>> 99% of the time when users report this problem it's because they're trying 
>>>> to open a log file or a .gcm file instead of their actual book.
>>>> 
>>>> Regards,
>>>> John Ralls
>>>> 
>>> Hi John,
>>> 
>>> Thank you very much for taking the time to reply. I appreciate it.
>>> 
>>> I've tried doing what you are suggesting. Let's say that my "<FILE>" name 
>>> is "foo.gnucash". When I type the following:
>>> 
>>> sqlite3 foo.gnucash
>>> 
>>> > .tables
>>> 
>>> I get:
>>> 
>>> "Error: file is not a database"
>>> 
>>> I thought to myself, "Perhaps the SQLite3 file was corrupted?" So I went to 
>>> a TimeMachine backup of the directory from April (before any issues with my 
>>> laptop), and copied over foo.gnucash to a temporary directory. This file 
>>> would open successfully with GnuCash. Using the command line, I see that 
>>> 'file' correctly identifies it as a gzip compressed file.
>>> 
>>> So it seems that this was an issue with the foo.gnucash file getting 
>>> corrupted, perhaps from the filesystem errors that I was experiencing. 
>>> Thanks for prompting me to debug this further. I'll restore my file using 
>>> the *.gnucash backup files, and by adding in the relevant log files.
>>> 
>>> If I may be so bold as to suggest a UI improvement: Telling the user "No 
>>> suitable backend was found for <FILE>" implies that the file is fine, it's 
>>> just that there's no back-end to support it. That impression was bolstered 
>>> by the mailing list discussion of missing library paths. I'd suggest 
>>> wording that makes it clear that the *FILE* is the issue, as in it's either 
>>> the wrong type, or it is corrupted. Perhaps, "<FILE> is not a recognized 
>>> GnuCash formatted file."
>>> 
>> 
>> Tomer,
>> 
>> Good that you sorted it. Note though that if it's gzip-compressed it's an 
>> XML file, not a sqlite3 database. Does `file` on the apparently corrupted 
>> gnucash file claim that it's a sqlite3 database?
>> 
>> Regards,
>> John Ralls
>> 
>> 
> When I use the `file` command on the corrupted file, it just reports it as 
> "data". It's a binary file, but not recognized as being in Gzip format.

OK, it probably lost some bits from its header, and maybe some other places 
too. Good thing that you have backups!

Regards,
John Ralls

_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to