We've been using Advantage Database Server 9.1 (Netware) with DBF/CDX index files successfully for several years, via the Delphi TDataSet
descendant components. (This is legacy data required for statistics/reporting purposes.)
A couple of weeks ago, we switched from Netware to Win2K8 as our network operating system, and moved to ADS 9.1. This broke the functionality of queries from the local client that perform SELECT
queries against server databases.
For instance, the below query worked fine with the Netware version of ADS 9.1 in ARC32's SQL window, running with a local connection to free tables in C:\Data
:
INSERT INTO MyLocalDB
SELECT TOP 10 * FROM [\\MyServer\Data\MyRemoteDB.dbf] WHERE somecondition
The same query worked using a mapped drive to the server's directory instead:
INSERT INTO MyLocalDB
SELECT TOP 10 * FROM [S:\Data\MyRemoteDB.dbf] WHERE somecondition
Note that it's a free table - it's not part of a data dictionary. It's a free table in a location that has read/write access to the folder on the server where it's stored. The local client connection's folder is fully accessible (it's used for testing applications on a daily basis, using a local connection to the data). A normal application can run on the client against either the local connection data or the remote connection data without any issue. It's only the query from a local connection to retrieve server data that's a problem, and it was working correctly before. The only difference was the switch from Netware to Win2k8 for both the OS and ADS, and according to the documenation (see quoted help file content below) it should still work.
After the switch to the Windows version of ADS 9.1, both of the above queries fail with
Error 7008: The specified table, memo file, or index file was unable to be opened. Table name \MyServer\Data\MyRemoteDB.dbf (or S:\Data\MyRemoteData.dbf).
We upgraded to ADS 10.10 on our system this week (and to the ADS 10.10 TDataSet
10.10 components as well), but the above queries still fail.
Is this simply not supported under the Windows version of ADS? The documentation makes it seem like the first one should work:
Drive letters in paths of table names can only be used with Advantage Local Server. When using Advantage Database Server for NT or NetWare, fully qualified paths must use UNC (e.g., "\server\volume\path\table"), because the SQL statement is parsed at the server where client-side drive letters are not meaningful. Note that tables referenced like this must be enclosed in double quotes or [] (brackets) because they contain non-standard characters.
The UNC path is properly surrounded with []
brackets, and there are no spaces anywhere in the path or table name. I've tried with and without appending the .dbf
extension; the error message remains the same.