Enhancements to allow DP4 databases to be accessed on web via ADO - E4000005 - updated 06 Apr 2001

Click here for information on the updates to this enhancement.

ADO (ActiveX Data Objects) is a Microsoft technology which allows data to be published over the web (either a private Intranet, or the Internet). It uses another technology, OLE DB, to provide data from any compliant ODBC data source. We have made changes to three DP4 system libraries: ODBCLIBT.DLL; SQLLIBT.DLL; and SYSLIBT.DLL, which enable ADO to work with DP4 databases. The changes may also be useful in other situations where OLE DB is being used, though this has not been investigated.

In a way, at least some of these changes are bug fixes. However the effect of the changes is a major improvement to the functionality of DP4, and there may be compatibility issues for existing applications using DP4 via ODBC. The changes made are as follows:

Problems and Limitations

Further changes 6 Apr 2001

The SQLLIBT.DLL included with 14 November version was missing an update it required to work with the ODBCLIBT.DLL included with the download. This caused the ODBC Catalog functions to fail.

Further changes 14 Nov 2000

SQLLIBT.DLL now supports the use of AS to allow the column name to be set to a "username" within the SQL query (e.g. select count(*) as custcount from customer). This is useful for two reasons:

Please note that "usernames" for columns cannot be used anywhere else in your SQL statement. In particular they cannot be used in WHERE clauses. You must use the regular DP4 column name.

Further changes 7 Jun 2000

We have made some more changes to these files in order to support the latest version of Crystal Reports and also a product called "Web Objects". The changes for Crystal Reports are not vital. See A4000011 for more information. The changes for "Web Objects" are not actually Web Related, and could impact other ODBC clients for good or ill in the handling of dates and times. Web Objects appears not to understand SQL Time fields, and also takes a somewhat extreme approach in the WHERE clause it uses for updating records - specifying a value for all the fields in the table, and not just the keys. This caused it to fail when updating tables containing a time field. The happened it asked our SQL interface to compare a time field with a timestamp field in the WHERE clause. Previously our library would only do this if the date part of the timestamp field was null. However, Web Objects passes the date Jan 01 1970 (The start of the universe according to Unix). We have changed our SQL library to allow comparisons of timestamps with either dates or times. Only the date part or the time part are considered in the comparison. (This is arguably wrong for dates, where an alternative interpretation would be to treat the date as a timestamp with a time of 0:00:00. However this interpretation is more likely to be helpful, and we are not aware of a standard in this area).

Further changes 12 and 21 Jun 2000

SQLLIBT.DLL has been updated in the download to fix bugs introduced by fix K4000007. See the updated information on that bug for full details.

DP4 Version Compatibility

4.5xx,4.6xx.

You must install ALL these components together. The new ODBCLIBT.DLL is not compatible with earlier releases of SQLLIBT.DLL and will fail to load.

See also E4000017 for information about other performance optimisations in this version.

Beta software is supplied without warranty and should not be used in live sites without the agreement of Itim Technology Solutions. Compatibility with an eventual final release cannot be guaranteed.

Downloads

4.522 DP4 System DLLs

The download also includes the source of a simple 4.5xx QAB program which can be posted to any database, and which can be used to generate a simple ASP page for any table on the database. Please note that this program does not currently work in 4.6xx as it uses a format flag that cannot be stored in 4.6xx maps.