Drivers x.x sln compile

Posts   
 
    
Puser
User
Posts: 228
Joined: 20-Sep-2012
# Posted on: 26-Nov-2018 13:45:41   

Hello,

If I try to compile the code from the LLBLGen Pro Driver sources (LLBLGen Pro v5.5.1 Sourcecode hotfix) the files SD.LLBLGen.Pro.Core and SD.LLBLGen.Pro.DBDriverCore are Always missing. Is there some guideline or instruction how I can quickly use the sources for I Always have to make one change in the AccessSchemaRetriever and then use these new compiled binaries. But then I Always have to copy around the dll's. Maybe i'm missing some know how here....

BTW: the change I make is:

                case (int)AccessDbTypes.Currency:
                    // set scale to 2, as OleDb reports this to be 0
                    scale = 4; // 2; in fact the decimals are 4 not 2
                    break;

best regards

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 26-Nov-2018 16:22:02   

The drivers are in a folder 'Drivers' which is in the same folder as the folder 'Designer' which contains the core/drivercore etc. projects. So the drivers projects reference the designer assemblies from that designer folder, hence the paths refer to that, and your location likely won't match, so you have to update the reference paths in the csproj.

There's no quick fix for this, as this is how the code is structured in our build system. The paths therefore are what they are.

The change you have to make is something we can look into however so you don't have to make it. Thing is tho: some people like to have scale 2 for currency, others want 4 (like you). You make this change as the values you receive from the DB always have scale ==4? Or is that just with your database?

Frans Bouma | Lead developer LLBLGen Pro
Puser
User
Posts: 228
Joined: 20-Sep-2012
# Posted on: 26-Nov-2018 17:34:20   

I can imagine that this Designer folder is a relative path. Maybe you could create a batch file which could copy the needed files from the default install folder in c:\program files .. etc? then one would just need to start that once.

As for the scale for currency, you have made a choice once for this and I can see that it is hard to make it variable. In our case we can opt for rounding on 0-4 decimals as we like when we set scale to 4 as in most cases these are business rules. But when setting to 2, you're restricted to 2. From business point of view you should Always explicitly set rounding (and what (not) to do with rest values). But you cannot just change this for your other customers which use Access with Database first development. Maybe you have a brilliant idea? wink

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 27-Nov-2018 11:13:38   

I can always add an option to the driver connection parameters simple_smile That will be for a next version tho.

I was wondering if the choice of '2' was too arbitrary (as in: the values were always returned with scale 4 anyway) but as it's a choice in the DB we indeed can't make the change.

We'll see what we can do in a next version to make this configurable.

About the batch update: that's a little cumbersome, as it requires parsing the xml of the csproj.

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 15-May-2019 11:42:38   

Added a setting to the connection info for ms access for v5.6. Default is 2, you can also specify something else, like 3, 7, 4 you name it simple_smile

Frans Bouma | Lead developer LLBLGen Pro
Puser
User
Posts: 228
Joined: 20-Sep-2012
# Posted on: 15-May-2019 12:03:01   

Thanks!