Designer V5.0 Odp.NET issue

Posts   
 
    
BillToBill
User
Posts: 5
Joined: 04-May-2021
# Posted on: 04-May-2021 09:07:22   

Hello and thanks for your help.

I am working on a old project working with LLBLGen V5.0.10 on Oracle databases. I need to use LLBLGen Designer in order to add some entities to my database first project. Firstly Designer doesn't launch on VisualSudio 2017 (try to load existing llblgenproj and create one but steel not loading plugin). So I use standalone version. But when I try to sync relationnal datas from the previous catalog I'm facing an issue:

LLBLGen Pro version 5.0. Build 5.0.10
-----[Core exception]--------------------
   à System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
   à SD.LLBLGen.Pro.DBDriverCore.DBDriverBase.GetDbProviderFactory()
   à SD.LLBLGen.Pro.DBDriverCore.ConnectionDataBase.get_FactoryName()
   à SD.LLBLGen.Pro.Gui.Controls.WizardPages.MetaDataRetrievalWizard_Step_ConnectionData.<LoadDriverAndConnectionControl>b__16_1()
   à SD.LLBLGen.Pro.Gui.Classes.ApplicationIdleDispatcher.PerformWork()
   à SD.LLBLGen.Pro.Gui.Classes.ApplicationIdleDispatcherSingleton.Application_Idle(Object sender, EventArgs e)
   à System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
   à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   à System.Windows.Forms.Application.RunDialog(Form form)
   à System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   à SD.LLBLGen.Pro.Gui.Classes.SyncTaskRunner.PerformDbSyncTask(SyncWithDatabaseTask task, LogNode parentNode)
   à SD.LLBLGen.Pro.Gui.Classes.SyncTaskRunner.PerformTasks(LogNode parentNode)
   à SD.LLBLGen.Pro.Gui.Classes.GuiController.PerformSyncTasks(List`1 tasksToPerform)
   à SD.LLBLGen.Pro.Gui.Controls.MdiTabs.SyncRelationalModelDataTab.PerformTasks()
   à SD.LLBLGen.Pro.Gui.Controls.MdiTabs.SyncRelationalModelDataTab._performTasksButton_Click(Object sender, EventArgs e)
   à System.Windows.Forms.Control.OnClick(EventArgs e)
   à DevExpress.XtraEditors.BaseButton.OnClick(EventArgs e)
   à DevExpress.XtraEditors.BaseButton.OnMouseUp(MouseEventArgs e)
   à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   à System.Windows.Forms.Control.WndProc(Message& m)
   à DevExpress.Utils.Controls.ControlBase.WndProc(Message& m)
   à DevExpress.XtraEditors.BaseControl.WndProc(Message& msg)
   à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I found a workaround in that forum (adding Oracle.DataAccess.Client to the LLBLGenPro_x86.exe.config => doesn't work with 64 bits...). With that workaround I can set my connection and choose tables and views to sync. But when sync is launching I'm facing a second issue : Algorithmi 1.3.0 not found:

Impossible de charger le fichier ou l'assembly 'SD.Tools.Algorithmia, Version=1.3.0.0, Culture=neutral, PublicKeyToken=8ede9265bbb8e107' ou une de ses dépendances. La définition trouvée du manifeste de l'assembly ne correspond pas à la référence de l'assembly. (Exception de HRESULT : 0x80131040)

LLBLGen Pro version 5.0. Build 5.0.10
-----[Core exception]--------------------
   à SD.LLBLGen.Pro.DBDrivers.Oracle.OracleCatalogRetriever..ctor(OracleDBDriverBase driverToUse)
   à SD.LLBLGen.Pro.DBDrivers.Oracle.OracleDBDriverBase.CreateCatalogRetriever() dans C:\Myprojects\VS.NET Projects\LLBLGen Pro v5.0\Drivers\Oracle\OracleDBDriverBase.cs:ligne 332
   à SD.LLBLGen.Pro.DBDriverCore.DBDriverBase.PopulateCatalogs(Dictionary`2 callBacks, Dictionary`2 elementsToRetrieve)
   à SD.LLBLGen.Pro.ApplicationCore.Synchronization.SyncWithDatabaseTask.ObtainMetaDataFromDatabase()
   à SD.LLBLGen.Pro.ApplicationCore.Synchronization.SyncWithDatabaseTask.<CollectWork>b__7_0()
   à SD.LLBLGen.Pro.ApplicationCore.Synchronization.SyncTaskBase.PerformWork(LogNode parentLogNode)
   à SD.LLBLGen.Pro.ApplicationCore.Synchronization.SyncTaskBase.PerformSync()
   à SD.LLBLGen.Pro.Gui.Classes.SyncTaskRunner.PerformDbSyncTask(SyncWithDatabaseTask task, LogNode parentNode)

This project is about 500 tables and code is not compatible with >5.0 LLBLGen Runtimes versions. I must open my ODP.NET catalog update it with maintaining table <> entities mappings and update C# model code with last modified/added/deleted tables.

Thanks very much for your help.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 04-May-2021 10:46:18   

The first error is because the designer couldn't find the DbProviderFactory for ODP.NET. It's likely you installed the 32bit version. It's ok to use a later version like 19c opd.net, or the managed provider. Also please see: https://www.llblgen.com/Documentation/5.8/Designer/Databases/oracleodpnet.htm#registering-odp.net-in-the-gac-and-machine.config for details how to install ODP.NET in the machine.config.

The 32bit error is weird, but might be a wrong llblgenpro_x86.exe.config. In any case, you should be able to use the 64 bit odp.net, no need for 32bit.

About integration in visual studio... 5.0 is pretty old, not sure if vs2017 support was added back then. It's the same as the standalone designer btw (it runs the standalone designer within vs).

Frans Bouma | Lead developer LLBLGen Pro
BillToBill
User
Posts: 5
Joined: 04-May-2021
# Posted on: 04-May-2021 12:25:34   

I follow instructions, but not solved the algorithmia exception. Now I can launch same action in x64, but as with the x86 I ahve the algorithmia 1.3.0 issue.

BillToBill
User
Posts: 5
Joined: 04-May-2021
# Posted on: 04-May-2021 14:24:33   

We are all (developer team) in this situation it's very critical. Have you a solution for this issue?

If I change Ajgorithmia dll in llblgen pro folder then executable is not running anymore.

Walaa avatar
Walaa
Support Team
Posts: 14946
Joined: 21-Aug-2005
# Posted on: 04-May-2021 19:21:05   

This has been solved starting from v.5.1. It should be a smooth migration from v.5.0 to v.5.1

Please give it a try.

BillToBill
User
Posts: 5
Joined: 04-May-2021
# Posted on: 05-May-2021 09:46:51   

Hi,

Try was done : "This project is about 500 tables and code is not compatible with >5.0 LLBLGen Runtimes versions." => because of using legacy custom queries.

But nevermind, I find a solution: Luckily Designer V5.3 has no problem with sync task. So I use DesignerV5.3 for sync, and I go back on Designer V5.0 for reverse engineering and Code generate. It's possible to open a llblgenproj with 5.0 even if it was saved with 5.3 (even if the message says the opposite). We can update our model.

Thanks

Bill

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 05-May-2021 09:48:48   

It was a problem that went unnoticed back then due to a misconfiguration on the test system. I've compiled the sourcecode (which you can obtain from the website btw, My account -> Downloads -> 5.0 -> extras section) with the right algorithmia reference. See the file attached.

It was brought to our attention for 5.1.3, hence the advice to upgrade to 5.1 at least to immediately get rid of the issue. Opening project files saved with newer versions in older versions might work, but also might not in some cases, hence the warning. simple_smile

In any case, you can proceed now. No need to worry: with these older versions you can still access a lot of the sourcecode of the parts that matter to correct things yourself through the sourcecode archive.

Attachments
Filename File size Added on Approval
SD.LLBLGen.Pro.DBDrivers.OracleDBDriver_ODPNET.dll 86,016 05-May-2021 09:49.08 Approved
Frans Bouma | Lead developer LLBLGen Pro
BillToBill
User
Posts: 5
Joined: 04-May-2021
# Posted on: 05-May-2021 10:03:48   

Thanks for this solution simple_smile