Just a follow-up to an older and not really answered question on DbTools: I have just noticed another case where the database tools (both the utility exe and the DbTools API call) do not work across versions: Running the V8 DBREMOTE.EXE (or DbRemoteSQL()) against a V12 database fails with the error "The property 'FileVersion' is not supported anymore." (translated from German). While it seems reasonable that some of the database utilities from older versions cannot handle newer database versions, I am still puzzled whether this a general restriction or based on the particular utilities. - As Karim pointed out in his answer to the older question, in general the DbTools API should be compatible, and that has been my understanding so far. But the current tests seem to contradict. Some clarification is highly appreciated:) Note: I'm about to port the application to use the V12 DbTools API, so that's no showstopper in any way... |
Just found a (mostly clarifying) description in the include file dbtools.h - seems to be there since at least V10. The description seems to fit my tests that the DbTools API is only compatible within the same major version (say 11.0.x). However, that seems to contradict the wording in the docs - something to correct?:
The next paragraphs point out how compatibility within the same major version (i.e. between 11.0.0 and 11.0.1 etc.) is handled:
2
The comment you found describes the compatibility of the API itself (the data structures used, parameters to entrypoints, names of entrypoints, etc) not the compatibility of the client code within dbtools to communicate successfully with newer servers (which is the problem you are running into). I don't know what the official general policy is for that latter kind of compatibility but sometimes features are removed from newer server versions. If, however, v12 claims to support v8 dbremote clients (and I'm not sure that it does) then this particular problem should be reported as a bug. @John: Mmmh, so I'm somewhat on my own to find out whether a DbTools app is compatible with a different version or not? - At least comparing with the particular version's utilities will tell whether a compatibility issue seems to appear only with my own app or the appropriate utility, too. - But I still would get more feedback here... Comment Text Removed
@World: Any more feedback is still very welcome! |
Just to add: After all, linking against a newer API version is not that hard:)