Bug 111862 - ElevateDB dbISAM ODBC: error "Cannot find column names" when doing a query using the wizard
Summary: ElevateDB dbISAM ODBC: error "Cannot find column names" when doing a query u...
Status: RESOLVED NOTOURBUG
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
5.4.0.3 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-16 14:34 UTC by Mark Watford
Modified: 2017-08-18 16:02 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Log of what happens when try to access the tables via the wizard (319.04 KB, text/plain)
2017-08-17 14:42 UTC, Mark Watford
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Watford 2017-08-16 14:34:51 UTC
Trying to do a Query using the Wizard and this is the error I get for all of the tables. You can type a query and it will find the column names.




The field names from 'C:\Program Files (x86)\High Meadow Business Solutions\RetailEdge 8.2\Server\Data\Customer' could not be retrieved.
Comment 1 Alex Thurgood 2017-08-16 14:54:11 UTC
@Mark : it might help if you told us a little bit more about your connection setup. At present, all I know from a search on the internet is that RetailEdge (RTM) is a proprietary point of sale database commercialized by Intel that requires a dongle for the client machine to be able to connect to the host and retrieve data.

Please provide at least your connection setup details (ODBC/JDBC/proprietary driver) used with the ODB file to allow access to the database.
Comment 2 Mark Watford 2017-08-16 15:37:23 UTC
Using ODBC from Elevate software DBISAM ODBC-STD. This is on a standalone machine not on a network the Database is on the standalone machine. I can access the column names using Excel with their wizard getting external data.
Comment 3 Alex Thurgood 2017-08-17 09:06:38 UTC
@Mark : thanks, but I doubt anyone will be able to confirm without having the same setup (which I doubt anyone here in the QA sphere has).


If you could possibly provide an ODBC trace log when attempting to load a table from within LibreOffice (is there an option to turn on logging/tracing from the ODBC driver provided by Elevate, that might help us to see where the problem lies ?
Comment 4 Alex Thurgood 2017-08-17 09:08:04 UTC
It might also help if you specified whether any query at all works, or whether only some types of query cause the problem.
Comment 5 Alex Thurgood 2017-08-17 09:15:39 UTC
The error message you cite comes from :

wizards/source/resources/resources_en_US.properties

RID_DB_COMMON_45=The field names from '%NAME' could not be retrieved

which is invoked by :

wizards/com/sun/star/wizards/db/CommandMetaData.java

String sMsgNoFieldsFromCommand = oResource.getResText("RID_DB_COMMON_45")

and

sMsgNoFieldsFromCommand = JavaTools.replaceSubString(sMsgNoFieldsFromCommand, _commandname, "%NAME")
Comment 6 Mark Watford 2017-08-17 12:58:18 UTC
When I first tried to download Libreoffice, I got a message I don't remember exactly how it was worded but it something like I needed a more updated version of Java. I downloaded Version 8 Update 144 (build 1.8.0_144-b01). Is their a setting I might need to configure? None of the tables can the field names be retrieved. The first option in the query is to select the fields you want to show on the report so I don't go past that first selection.
Comment 7 Alex Thurgood 2017-08-17 13:21:50 UTC
@Mark : instead of using the Query composer, can you double-click/open any of the Tables under the Table icon of your ODB file ?
Comment 8 Alex Thurgood 2017-08-17 13:27:17 UTC
DBISAM ODBC appears to be either closed source or pay-to-see (cf. https://www.elevatesoft.com/forums?action=view&category=dbisam&id=dbisam_odbc&msg=1416&page=6). We can't help you there, I'm afraid, you would need to contact Elevate with your problem.
Comment 9 Alex Thurgood 2017-08-17 13:33:25 UTC
See also this report from 2006 :

https://www.elevatesoft.com/forums?action=view&category=dbisam&id=dbisam_odbc&msg=1273&page=6


It relates to OpenOffice.org, but that is the precursor of LibreOffice, so the problems might be similar (even if the error message is different)
Comment 11 Alex Thurgood 2017-08-17 13:39:26 UTC
@Mark : without a ODBC trace/log, we're stuck.
Comment 12 Mark Watford 2017-08-17 13:46:57 UTC
Did you see my comment#6? I get a similar error that the person was getting with OPenOffice.

The data content could not be loaded

Syntax error in SQL statement 

All of the other comments about the OpenOffice error are the same, it looks like the path has two many quotes in it. I have contacted Elevate several days ago and have not got an answer back yet, will try again. Normally they have been very good.
Comment 13 Lionel Elie Mamane 2017-08-17 14:40:55 UTC
Without a reproduction setup, it will be very hard to guess what is going on. It also looks like ElevateDB is only available for Microsoft Windows, not GNU/Linux?

It might "just" be that ElevateDB table names contain characters that LibreOffice doesn't expect... Or the dbISAM driver doesn't implement a part of the API that LibreOffice uses, or differently than LibreOffice expects, or ...
Comment 14 Mark Watford 2017-08-17 14:42:41 UTC
Created attachment 135623 [details]
Log of what happens when try to access the tables via the wizard

See log this is the tracing for the Elevate ODBC driver
Comment 15 Lionel Elie Mamane 2017-08-17 15:04:52 UTC
LibreOffice 5"  1420-d78	ENTER SQLColumnsW 

here LibreOffice, calls the ODBC SQLColumns() column with parameters:
 Catalog = "C:\" (without quotes)
 Schema = none (empty / null)
 Table = "Program Files (x86)\High Meadow Business Solutions\RetailEdge 8.2\Server\Data\Customer\" (without quotes and without the newlines introduced by bugzilla formatting)

Is this correct? Is this a valid (catalog, schema, table) triple for a valid table of a valid database?
If not, we have to go up in the log and understand where this is coming from.

If yes, we continue:

LibreOffice 5"  1420-d78	EXIT  SQLNumResultCols  with return code 0 (SQL_SUCCESS)
		HSTMT               0x000000ADF02FDE60
		SWORD *             0x000000ADE89EA9D0 (18)

which means the result returned by SQLColumns (that is, a result set that describes the columns of the table, each column of the table being one row in that result set) has 18 columns. This is correct and to be expected.

Then:

LibreOffice 5"  1420-d78	EXIT  SQLFetch  with return code 100 (SQL_NO_DATA_FOUND)
		HSTMT               0x000000ADF02FDE60

Here we have it: the ODBC driver is telling us it is not giving us any data on the columns of the table. Which is what LibreOffice is complaining about. No information on the columns of the table. No row in the result set returned by SQLColumns()
Comment 16 Mark Watford 2017-08-17 15:15:49 UTC
At this point should I send this info to Elevate to ascertain what the problem is?
Comment 17 Mark Watford 2017-08-18 16:01:17 UTC
Elevate was able to do some modifications and it is working.

Thanks for everyone's help,
Mark