MySql 8.0 mysql.proc missing

Posts   
 
    
mjking
User
Posts: 5
Joined: 18-May-2011
# Posted on: 30-Jun-2018 04:03:04   

Using LLBLGen Pro v5.1.0, when trying to retrieve schema elements I get error: "mysql.proc doesn't exist"

Upon some research, it would seem that MySql 8.0 dropped this table and is moving to information_schema objects instead. Any plans to support version 8 of MySql on the horizon?

Stack Trace:

Exception information.

LLBLGen Pro version: v5.1. Build: 5.1.0

Exception details:

Message: Table 'mysql.proc' doesn't exist Source: Devart.Data.MySql Stack trace: at Devart.Data.MySql.a6.a() at Devart.Data.MySql.a6.h() at Devart.Data.MySql.l.a(n[]& A_0, Int32& A_1, Boolean A_2) at Devart.Data.MySql.l.a(Byte[] A_0, Int32 A_1, Boolean A_2, String A_3) at Devart.Data.MySql.m.e() at Devart.Data.MySql.MySqlCommand.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords) at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at Devart.Data.MySql.a8.a(DbConnection A_0, String A_1, String A_2, String[] A_3, String[] A_4) at Devart.Data.MySql.a8.d(DbConnection A_0, String[] A_1) at Devart.Data.MySql.a8.a(DbConnection A_0, DbConnectionInternal A_1, String A_2, String[] A_3) at Devart.Common.DbConnectionInternal.a(DbConnectionBase A_0, String A_1, String[] A_2) at SD.LLBLGen.Pro.DBDrivers.MySql.MySqlDBDriver.GetAllElementNames(String[] restrictions, String schemaCollectionName, String nameFieldName, ICollection1 namesToExclude, Func2 commentRetrieverFunc) in C:\Myprojects\VS.NET Projects\LLBLGen Pro v5.1\Drivers\MySql\MySqlDBDriver.cs:line 691 at SD.LLBLGen.Pro.DBDrivers.MySql.MySqlDBDriver.GetAllStoredProcedureNames(String catalogName, String schemaName) in C:\Myprojects\VS.NET Projects\LLBLGen Pro v5.1\Drivers\MySql\MySqlDBDriver.cs:line 599 at SD.LLBLGen.Pro.Gui.Controls.WizardPages.MetaDataRetrievalWizard_Step_ElementSelection.PopulateSchema(TreeListNode schemaNodeToPopulate, TagEntry`1 tagData)

Inner exception: <null>

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39747
Joined: 17-Aug-2003
# Posted on: 30-Jun-2018 09:48:46   

We use the DevArt's MySqlConnection.GetSchema() functionality by passing the name "Procedures" for the schema to obtain. The connection then performs the schema retrieval. So I think this is a bug in DevArt's mysql connector (or you're using a version that's not yet updated for mysql 8.0).

For meta data obtained regularly (with queries on meta-data) we use informationschema indeed, but for ready-made metadata schemas provided by the DbConnection of the ADO.NET provider we depend on the way the ADO.NET provider obtains those schemas. I think they use the old-fashioned way of obtaining the metadata here. So I'd file this as a bug with them (or check whether there's a newer mysqlconnector which does support mysql 8.0)

Frans Bouma | Lead developer LLBLGen Pro