Sync Relational Model Data - DevArt DotConnect LicenseKey

Posts   
 
    
rlucassen
User
Posts: 22
Joined: 25-Oct-2013
# Posted on: 18-Jun-2020 14:24:53   

Hi,

i'm using LLBLGEn 5.6.0 With a Payed DevArt Dotconnect for MySQL. I'm trying te refresh my Model in Database First approch but devart is requiring a license key.

Where can i add this key to the standard connection string. Or solve it in another way.

Kind regards

Remon Lucassen

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39760
Joined: 17-Aug-2003
# Posted on: 18-Jun-2020 14:53:47   

Hmm. In their old version they required us to have a resource embedded in the .exe. (v2.x) but after that they solved it a different way and it was all OK. But your report suggests it's back to square one and it's not possible to work around this.

Could you file an issue on their forums or with their support about this? What LLBLGen Pro does is obtain the DbProviderFactory using DbProviderFactories.GetFactory() for the MySql connector. This is on .NET FX, so not .net core. They should have a way to register the license for you at some point. I looked at the docs but I can't find it other than that the exe using the dll has to have the resource embedded, which is pretty silly as we use the factory from DbProviderFactories. I don't know where else it's documented, but the mysql connector from devart isn't our product so I don't know the fine details regards their licensing.

Alternatively, the express version does work OK. To use that, please do the following: - DONT install the paid version in the GAC (this is an option in their installer). I recon you use the paid version to be able to use it on .net core anyway, so you don't need it for that - DO install the express variant in the gac.

Logout/login. This should make sure the express dll is loaded by our designer through the machine.config file.

For reference, in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\

you'll see a line similar to this one:

<add name="dotConnect for MySQL" invariant="Devart.Data.MySql" description="Devart dotConnect for MySQL" type="Devart.Data.MySql.MySqlProviderFactory, Devart.Data.MySql, Version=8.13.1366.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />

This defines which file to load from the gac. As the express variant is installed in the gac, it'll load that one.

Frans Bouma | Lead developer LLBLGen Pro
rlucassen
User
Posts: 22
Joined: 25-Oct-2013
# Posted on: 18-Jun-2020 15:32:08   

Hi Otis,

I can't install a different DotConnect as the NuGet package requires the license key. Switching everytime i want to recompile the ORM is no workable solution.

We have to add the key to the connection string so i wondered if there is an option to add additional parameters to the connection string.

But reading your post the connection string is produced by the factory.

I will request support at Devart.

Thanx!

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39760
Joined: 17-Aug-2003
# Posted on: 18-Jun-2020 18:00:46   

rlucassen wrote:

Hi Otis,

I can't install a different DotConnect as the NuGet package requires the license key. Switching everytime i want to recompile the ORM is no workable solution.

We have to add the key to the connection string so i wondered if there is an option to add additional parameters to the connection string.

But reading your post the connection string is produced by the factory.

I will request support at Devart.

Thanx!

The connection string is produced by our mysql driver. However from their docs, the key in the connection string is for .net core, not netfx versions. In your own code you refer to the nuget packages and you add the license key to the connection string of your app. As it's a .net core app, it won't use DbProviderFactories, as you'll use our RuntimeConfiguration class and specify the factory there simple_smile

So they can be used side by side. The express one doesn't interfere with the nuget packages as it doesn't contain a .net core build, it only works on netfx. Your project uses the .net core variants and it doesn't look at the express one in the gac (as the gac doesn't exist for .net core apps, they have no notion of a gac)

Frans Bouma | Lead developer LLBLGen Pro