LinkEase Release Notes

The current release version of LinkEase is 58

The following problems cannot be resolved:

LinkEase may not be able to concurrently access databases that have been opened by DataEase 4.53 on a Windows NT workstation (this is a DataEase problem).

LinkEase correctly passes 6-digit integer from a floating point field to NetPlus version 2.7.5, but when displayed the last digit is replaced by a zero (this is a DataEase NetPlus problem).

The LinkEase Dynamic Link Library, and all its associated utilities, with the exception of setup.exe, are 32-bit programs that run on Windows 64-bit platforms. As setup.exe is a 16-bit application, it cannot run on Windows 64-bit platforms, and a 32-bit version has not been found. The 64-bit version of Windows 10.installs the ODBC driver Administrator and associated tools, so setup.exe is not crucial. However, LinkEase.dll should be copied to C:\Windows\SysWOW64 where it will be seen by the 32bit ODBC Administrator.

The following problems in release 57 were fixed in release 58:

Under very extremely rare circumstances, when LinkEase was multi-tasking on a workstation, the data returned from a query in a task could have been exchanged with data from a query in another task when executed almost simultaneously.

Tables with exactly 255 fields may cause LinkEase to crash.

LinkEase may return errors when trying to process more than about 40 re-entrant queries concurrently because of a limit in the number of temporary files available.

LinkEase may return various Deadlock and other Locking errors.

The following problems in release 56 were fixed in release 57:

LinkEase may not return a result set when a key field is Numeric.

LinkEase may not process ORDER BY, MAX and MIN correctly when the subject is a Date field.

LinkEase may insert a previous non-null value when processing an INSERT query with a null value.

LinkEase does not always multi-thread the licensing process properly.

LinkEase may return invalid values for AVG and SUM functions in a query.

LinkEase may not make fields available where Prevent Data-entry is set to Yes.

If you are experiencing any of these problems, try downloading the Patched version of LinkEase - if you still experience these, or any other problems, report them back to the authors. You might find the Frequently Asked Questions page helpful.

The following problems in release 55 were fixed in release 56:

LinkEase returned incorrect values following a call to SQLColAttributes with the parameter fDescType set to SQL_COLUMN_LENGTH, and when the subject column was a formatted string or a choice field.

LinkEase did not accept search patterns in calls to Catalog functions.

LinkEase did not recognise shortened values, such as 'TAB' or 'VI', in the szTableType parameter in calls to SQLTables.

LinkEase could corrupt indexes under extremely rare circumstances.

LinkEase would GPF with an Invalid Page Fault following a call to SQLBindParameter with the pcbValue argument set to SQL_NULL_DATA.

LinkEase could fail to respond when the Licence Directory path length was greater than 37 bytes.

LinkEase did not correctly handle table names that included escape characters, '_' and '%', in calls to catalog functions.

LinkEase immediately returned an error when it found a table that had its description file missing during calls to SQLTables or SQLColumns, and could truncate a list of tables or columns.

LinkEase may have returned a "Possible Deadlock" error following a second call to process a SELECT SQL statement that refered to more than one table.

LinkEase may have 'hung' when attempting to display an error message on a web server.

LinkEase could not read Form Definition files that had been encrypted with DataEase Developer.

LinkEase may have returned 'Error S1001 [39146]' if a field in a form had Prevent Data-entry set to 'yes' and no Derivation Formula.

The following problems in release 54 were fixed in release 55:

LinkEase didn't return a fully completed connection string after a call to SQLDriverConnect.

LinkEase may have returned an incorrect list of tables after a call to SQLTables with szTableType set to 'TABLE'.

LinkEase leaked large amounts of memory when processing an Insert query, and a very small amount when processing a Select query.

LinkEase sometimes confused adjoining data as an approximate-numeric-literal when processing Insert queries.

LinkEase internally truncated long table names with embedded underscores.

The following problems in release 53 were fixed in release 54:

LinkEase returned a SYSTEM ERROR when asked to open a DataEase table whose description file (.DBA) had missing Header Structure and Form Properties sections.

Excel 97 - Data - Get External Data - Create New Query - <New Data Source> - OK, eventually lead to LinkEase causing a General Protection Fault.

LinkEase may not have correctly parse Excel 97 / MS Query SQL Queries which ended with the Form Feed (0C) character.

LinkEase may have parsed an SQL query that contained a non comparison predicate with a column name that was composed of a table name without quotes, a full stop, and a column identifier with quotes (e.g. ' ... WHERE table."column" LIKE ... ') as a comparison predicate and may have incorrectly returned a 37000 [34122] error.

LinkEase may not have correctly converted data to types SQL_C_STINYINT or SQL_C_UTINYINT, but instead returned error 07006 [45126].

LinkEase did not use the cbSqlStr parameter in calls to SQLExecDirect or SQLPrepare and may have attempted to parse garbage at the end of an SQL statement and returned unexpected syntax errors.

LinkEase only looked for DENETWRK.OVL in the directory pointed to by the DEPATH environment variable, and for CONFIGUR.DAT in the DataEase Directory.

LinkEase was not correctly parsing SQL statements that contained a table reference with both a user name and a correlation name.

LinkEase would not correctly execute an SQL statements that contained a table reference with a correlation name which was different from the table name.

LinkEase may have returned an S1008 [35503] error when an SQL statement with a WHERE clause was submitted with an SQLExecDirect or an SQLExecute ODBC call that followed an SQLCancel call with the same Statement handle.

LinkEase may have returned incorrect information in response to an SQLDescribeCol function call after a call to a catalog function, such as SQLTables. This could have resulted in some front-end applications, such as Sun's StarOffice, showing an empty list of available tables.

LinkEase may not have returned a full list of tables in response to an SQLTables function call when a user had logged on with a Username / Password pair with a non-High security level, and some of the table description files were missing.

LinkEase may rarely have cause a GPF when it incorrectly interpreted a standard date field as an extended date field in a DataEase 4.53, or earlier, database.

Access 97 may have reported the error "Invalid field definition '<column name>' in definition of index or relationship" when it attempted to import or link a DataEase table that had columns which were both virtual and indexed because LinkEase included such columns in the result set after a call to SQLStatistics.

LinkEase did not indicate why the opening of a DataEase database failed when the 16-bit version of LinkEase was used with a 32-bit licence, and vice versa.

LinkEase failed to look for CONFIGUR.DAT in the DataEase System Directory when DEPATH was set, but the directory it pointed to did not exist or did not contain the file.

LinkEase could fail when it attempted to return rows from large tables in DataEase databases on NT servers.

Access 2000 database row updates were not correctly handled by LinkEase.

LinkEase returned a result set after a call to SQLTables with a table type of "TABLE" or "VIEW" or "SYSTEM TABLE" or "ALIAS" or "SYNONYM", that caused some applications to list multiple copies of each table.

LinkEase could return inconsistent and incorrect values for PRECISION and LENGTH in calls to SQLColumns and SQLColAttributes.

LinkEase failed to open a database if the Database Directory path length was greater than 60 characters.

LinkEase only checked the Password of the first matching Username it found in the User table.  LinkEase didn't check subsequent entries in the User table with the same Username that might have the correct Password.

LinkEase may have overwriten entries in the DENETWRK.OVL file that had been previously created by DataEase for Windows and caused subsequent locking problems.

The following problems in release 52 were fixed in release 53:

LinkEase failed to set a default cursor name during calls to SQLExecute or SQLExecDirect which may have caused subsequent calls to SQLGetCursorName to return an error.

If LinkEase was asked to execute an SQL statement which required more parameters than had been provided by calls to the SQLSetParam function, then it may have crashed with an Invalid Page Fault.

The 32-bit version of LinkEase may have over-writen the licence file when SQLAllocEnv was called more than once by the same front-end application.

LinkEase licencing could revert to Demonstration / Evaluation mode when front-end applications were run on NT servers.

LinkEase may have unnecessarily required the DEPATH environment variable to be set when accessing a DataEase database on a local hard drive or a NetWare server.

The following problems in release 51 were fixed in release 52:

Under some circumstances, the 32-bit version of LinkEase failed to create a shadow RDRR file and returned error 40123 (21152).

LinkEase failed to apply a custom format to a Numeric String field with Another Format. If such a field was also indexed and part of large and complex form, LinkEase may have internally applied an incorrect format and not returned records that should have been partially matched on the field.

The following problems in release 50 were fixed in release 51:

An 'INSERT INTO table-name (field-name, ....) VALUES ('', ....)' SQL query, where '' was two single quotes, gave an incorrect error 22005 if field-name was defined as a non-formatted Numeric String.

LinkEase incorrectly calculated the value of an expression (including a function on a column in which some rows in a table had a blank value in the column).

LinkEase incorrectly returned the 14th and 15th columns of a result set produced by an SQLGetTypeInfo API command.

LinkEase did not display the number of licenced seats in the opening banner.

LinkEase did not implement the full functionality of table correlation names.

The 32-bit version of LinkEase incorrectly locked records on a non-Novell network.

Several problems with File DSNs were identified and resolved.

LinkEase caused a GPF when asked to respond to an SQLGetInfo API command with the rgbInfoValue parameter set to NULL.

LinkEase incorrectly found selected records of a table in which the primary key was a Fast Text field.

The following problems in release 49 were fixed in release 50:

The 32-bit, multi-user version of LinkEase would not function on non-Novell networks.

The 16-bit, multi-user version of LinkEase sometimes malfunctioned on non-Novell networks.

This release of LinkEase only implemented the ODBC version 1.0 specification of SQLTables and returned error code S1102 if any unspecified tables types were requested.

LinkEase gave an invalid syntax error when a non-integer numeric literal was included in an SQL statement.

LinkEase gave an invalid syntax error when pairs of single quotes were embedded in a string literal in an SQL statement.

Consecutive 'DELETE FROM' SQL queries could cause a GPF with the 16-bit version of LinkEase and error 18174 with the 32-bit version of LinkEase.

An 'UPDATE table-name SET field-name-1 = 'xxx' , field-name-2 = 'yyy' WHERE ...' SQL query gave an incorrect LinkEase syntax error 37000 [31401] because there was a space between 'xxx' and the comma.

The 32-bit version of LinkEase gave an 'Unknown Database' error rather than a 'Database Locked' error when attempting to open a database with a single-user licence while the database was being accessed by a DataEase user. If the OK button on the licence banner was clicked under these circumstances, the system could crash rather than give any error.

SELECT queries that include WHERE clauses of the form "<column name> LIKE 'xyz*'" could cause LinkEase to GPF if 'xyz*' was shorter than the data size of <column name>. The correct ODBC SQL syntax is "<column name> LIKE 'axy%'".

The evaluation / demonstration versions of LinkEase would not always 'see' the first 5 user tables of DataEase 5.x databases. Licensed versions of LinkEase would 'see' all the tables.

The correlation names were only implemented if they were the same name.

Consecutive 'UPDATE' SQL queries could cause LinkEase to GPF with an invalid page fault.

LinkEase did not handles multiple threads.

'UPDATE ... WHERE' SQL queries did not always recognize the WHERE clause and could update every record in the specified table.

An SQLDescribeCol call to LinkEase could cause a GPF if any of the return pointers were NULL.

A SELECT ... FROM "table 1","table 2" WHERE ... query would not always recognize table2.

LinkEase could return error 23000 when sent a query that wanted to select columns from two related tables that had no indexed fields.

A SELECT ... ORDER BY query would not always sort the first record in the result set.

A SELECT query with DISTINCT or ORDER BY would not always delete all temporary sort files.

A SELECT DISTINCT ... query could return all records in the result set.

The following problems in release 48 were fixed in release 49:

Select statements may now fetch rows using an optimized strategy if they include WHERE clauses of the form "<column name> LIKE 'xyz%'", or "<column name> BETWEEN 'abc' AND 'cdf'" and <column name> is indexed. This is now similar to the optimization stategy previously employed with WHERE clauses such as "<column name> = 'abc'". NB, "LIKE '%xyx'" cannot be optimized because all of a table may need to be searched to find possible matches.

A Library Validation Error with GetVolumeInformation could be experienced with the 32-bit version of LinkEase.

Very rarely, register.exe created an invalid LinkEase licence file.

Under some circumstances, out-of-date ODBC support files could over-write the correct files on Windows NT workstations.

ztermdef.dbz always had to be available to LinkEase - even in Single-User mode.

Error messages were not always as helpful as they could be.

WHERE <column name> LIKE 'xxx%', and xxx is the size of the column, did not find exact matches with 32-bit LinkEase.

File DSNs were not implemented.

Danish versions of DataEase were not handled properly - workaround by copying *.den as *.dan in the Danish DataEase directory.

The new licencing strategy did not always work correctly with Windows 3.x

The 16-bit version of LinkEase crashed on Windows NT workstations.

LinkEase users could experience some memory leakage.

The following problems in release 47 were fixed in release 48:

DataEase Plus was not handled correctly (version 2.7.5).

Some SQL syntax gave errors.

Some OEM products such as the 16-bit version of MultiWare ReportTool could not interface to LinkEase.

International versions of DataEase were not recognized.

The presentation of tables in a database could be very slow.

LinkEase did not interface to Borland Database Desktop.

American and Metric dates were not handled correctly.

The 32-bit version could attempt to locate temporary files in the inaccessible root directories of network drives.

NetWare (UNC?) directory naming was not accepted.

.DBA files were not always closed properly.

HomeEmail Us