Upgrade 2.6 project to latest

Posts   
 
    
cdshearer
User
Posts: 4
Joined: 13-Jan-2021
# Posted on: 13-Jan-2021 08:17:52   

Hi

I have a very old codebase developed against the 2.6 version. Now on SQL Server 2019 I can't refresh the catalog so I could regenerate the code.

I ran into the issue with the 2.6 SQL Server driver not working against latest versions, so I updated the code to work against later versions and got it to run, but now it seems to hang when refreshing the catalog.

What's involved in upgrading to the 5.x version? Is this a major undertaking and how much will my runtime code be affected? Is there some documentation on the upgrade process?

TIA

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 13-Jan-2021 10:44:28   

If a refresh hangs, it might be it ends up in a loop, you could try with a debugger attached and break and see where it's hanging?

Anyway, upgrading the lgp file to the newer format: https://www.llblgen.com/Documentation/5.7/Designer/Migratingv2xProject.htm

Upgrading your own project using the generated code: https://www.llblgen.com/Documentation/5.7/LLBLGen%20Pro%20RTF/migratingcode.htm

As v2.6 is over 12 years old, a lot has changed. You very likely won't run into all the breaking changes but you will run into some of them. A lot of people have migrated to higher versions from v2.6 before you and have asked questions you might have too here so it's likely you'll find answers here by searching for them. If not let us know and we'll look into it.

Frans Bouma | Lead developer LLBLGen Pro
cdshearer
User
Posts: 4
Joined: 13-Jan-2021
# Posted on: 13-Jan-2021 19:08:22   

Thanks Frans.

In the end, I've got the 2.6 driver to run on SQL Server 2019 - I'd missed one of the switch statements.

Yes, I'm expecting there to be breaking changes upgrading, but for now I can defer that until I've had a conversation with the owner of the code.

Cheers...

JRichmond
User
Posts: 2
Joined: 10-Sep-2021
# Posted on: 10-Sep-2021 04:59:58   

cdshearer wrote:

I ran into the issue with the 2.6 SQL Server driver not working against latest versions, so I updated the code to work against later versions and got it to run...

Would you mind sharing what code you were able to update to get the 2.6 driver to work with SQL Server 2019? Did you somehow edit the actual code for the driver?

cdshearer
User
Posts: 4
Joined: 13-Jan-2021
# Posted on: 10-Sep-2021 05:17:56   

JRichmond wrote:

cdshearer wrote:

I ran into the issue with the 2.6 SQL Server driver not working against latest versions, so I updated the code to work against later versions and got it to run...

Would you mind sharing what code you were able to update to get the 2.6 driver to work with SQL Server 2019? Did you somehow edit the actual code for the driver?

Hi there

The changes are made to the LLBLGenProSDK, in the SqlServerCatalogRetriever.cs and SqlServerSchemaRetriever.cs files. Basically, I've added default cases to various switch statements to handle any version of SQL server not covered.

The built DLL then needs to be copied into the appropriate drivers folder for LLBLGen to access. This is in the following path on my system:

C:\Program Files (x86)\Solutions Design\LLBLGen Pro v2.6\Drivers\SqlServer

I've now also attached my built DLL to this post (pending approval).

Hope that helps!

Cheers... Craig

JRichmond
User
Posts: 2
Joined: 10-Sep-2021
# Posted on: 10-Sep-2021 05:23:13   

Thank you! I can now refresh my SQL Server 2019 catalogs. You saved me from some huge headaches!

cdshearer
User
Posts: 4
Joined: 13-Jan-2021
# Posted on: 10-Sep-2021 05:24:18   

JRichmond wrote:

Thank you! I can now refresh my SQL Server 2019 catalogs. You saved me from some huge headaches!

You're welcome. Glad I could help!

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 10-Sep-2021 09:13:12   

No binaries of our code from 3rd parties are allowed, so I've removed the dll. Making these changes is simple, but we don't allow distribution of our work compiled by others.

@cdshearer, it's not your sourcecode and not open source of any kind, the header of the file states as much.

Frans Bouma | Lead developer LLBLGen Pro