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... asked 15 Sep '10, 14:44 Volker Barth |
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:
answered 15 Sep '10, 15:40 Volker Barth 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! |
Not as an answer - but just to show I still would like to get more feedback on this, I quote from my comment on my first answer:
answered 25 Nov '10, 08:23 Volker Barth I think you will need to ask via tech support what guarantees we provide that old dbtools will work against newer servers. In your case, you are using an unsupported (v8) dbtools against a newer server and the v8 code is using a server feature that has been removed. I doubt we want to reintroduce a that feature into current versions of the server just to support an out-of-support dbtools library. Chances are that you will be advised to upgrade the client but, of course, I could be wrong. The problem here is less of a technical issue and more of a business decision. @John: Thanks for your suggestions. - Well, I guess I should close this issue. I have been looking for some kind of general guideline, and obviously there's none publically available. So I'm gonna concentrate on the practical issues, and in this case, the solution is clear, i.e. to use the V12 dbtools API. As the according client app is already linked with V12 and has passed all tests (and this hasn't really be a difficult task), let's consider this gone:) |
Just to add: After all, linking against a newer API version is not that hard:)