AV opening tables in Schema Modeler with NexusDB Driver


After upgrading to 9.6.113, I’m getting an AV when trying to open a table in the schema modeler using the NexusDB Driver:

I get a red X when trying to view the field list in the connection panel, or if I try to add a table to the Schema, or if I try to validate or preview an existing schema.

I debugged the DLL, and the exception is raised after the call to TDAEConnection.GetTableFields or TDAEConnection.GetForeignKeys. The field collection and the foreign keys collection is properly built by the driver, but immediately after returning the collection, the exception is raised.

The driver also works perfectly fine when compiled into the Delphi application server.



what version of NexusDB you are using?

try to compile ...\Data Abstract for Delphi\Source\Drivers\DANexusDBDrv.dpr with any unicode version of Delphi and replace ...\Data Abstract (Common)\Bin\DANexusDBDrv.dad with compiled file.

Will it work as expected?

I’m using NexusDB v4.50.0.13, which is the latest version. Actually, the driver I’m using was recompiled with Delphi 10.3 Rio. I’ve sent the recompiled dad driver to support@.

I’ll get the default .dad file from the installer to see if that driver has the same problem.


The driver from the installer works fine. It’s the one I recompiled that is causing the problem. So I will use the one from the installer, and not the recompiled one. I’m statically linking the driver into the EXE, so I do not need to recompile the dad driver for any reason. I’m thinking I had a reason to recompile this driver many years ago, with older versions of DA, but that reason became obsolete a long time ago, :blush:. I just need it for the Schema Modeler at this moment, and the one from the installer works fine for that.



so you have recompiled DANexusDBDrv.dad some time ago with another version of DAD and used it. is it correct?
.dad should be compiled with the same version of DA otherwise it may be incompatible with Schema Modeler

Actually, I recompiled the DANexusDBDrv.dad driver with the latest version of DA, using the latest version of NexusDB, in Delphi 10.3 Rio. I did try using the older DAD version (the one that I was using before upgrading to v9.6.113 of DA), but it raised a different error, :blush:. I wanted to see if it was related to using a newer version of NexusDB. But as you said, it was incompatible with the newer Schema Modeler.

That’s why I decided to debug the DAD, and that’s when I found out that at least the code that runs in the DAD, it runs well, without errors, using the latest NexusDB units, and returns the data that was correctly extracted from the database (eg. the table fields). But I guess something is being returned that the RemObjects.DataAbstract.Unmanaged.dll is not expecting. The driver I sent to support@ is the driver compiled with DA 9.6.113.

Since the default driver included with the installer works fine, which I’m guessing was compiled with a previous version of NexusDB (not the latest), I’m inclined to think that perhaps the newer version of Nexus changed something that is causing the exception in the RemObjects.DataAbstract.Unmanaged.dll.



it was compiled with NexusDB 4.0013 that is a bit outdated.
can you send DDL script for problematic table or empty DB that contain problematic table to support@, pls?
I’d like to reproduce it on my side.