我正在嘗試運行帶有 MySQL 資料庫的伺服器,但是我不斷收到這個巨大的錯誤,我不知道為什麼。
[21:15:49,107] Server Properties Lookup: Error While Initialization DOL.Database.DatabaseException: Table DOL.Database.ServerProperty is not registered for Database Connection... at DOL.Database.ObjectDatabase.SelectAllObjects[TObject]() at DOL.GS.ServerProperties.Properties.get_AllDomainProperties() at DOL.GS.ServerProperties.Properties.InitProperties() at DOL.GS.GameServer.InitComponent(Action componentInitMethod, String text)``` also this error [21:15:35,991] ExecuteSelectImpl: UnHandled Exception for Select Query "DESCRIBE `Specialization`" System.NotSupportedException: Character set 'utf8mb3' is not supported by .Net Framework. at MySql.Data.MySqlClient.CharSetMap.GetCharacterSet(DBVersion version, String charSetName) at MySql.Data.MySqlClient.MySqlField.SetFieldEncoding() at MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field) at MySql.Data.MySqlClient.NativeDriver.GetColumnsData(MySqlField[] columns) at MySql.Data.MySqlClient.Driver.GetColumns(Int32 count) at MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols) at MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols) at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlDataReader.Close() at MySql.Data.MySqlClient.MySqlCommand.ResetReader() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader() at DOL.Database.SQLObjectDatabase.ExecuteSelectImpl(String SQLCommand, IEnumerable`1 parameters, Action`1 Reader)```
有可用來 MySQL 連接器的更新/NET。
更新到版本 8.0.28 後(NuGet 套件
MySql.Data
)一切都恢復正常了。就我而言,我安裝了預設帶有
utf8mb3
的10.6.4-MariaDB
。我在嘗試讀取表格時遇到了同樣的錯誤。
我透過將 MariaDB 配置中的所有字元集設定更改為
utf8mb4
修復了該問題。然後轉儲我的資料庫並再次導入它。這次在建立資料庫時指定
utf8mb4
。因此,正常的
SELECT
、UPDATE
查詢工作正常,不再發生錯誤。但是當我的應用程式呼叫預存程序時,我不斷收到錯誤。
我認為這可能是因為預存程序保存到
information_schema
資料庫中,它仍然是utf8mb3
並且我找不到將其更改為的方法>utf8mb4
.在花費了大量時間嘗試實作一些奇怪的解決方法之後,我遇到了這個錯誤報告:
無法從 C# 用戶端應用程式使用 MariaDB 10.6:
https://jira.mariadb.org/browse/MDEV-26105?attachmentViewMode=列表
#那裡的一位用戶說:
所以我最終在執行預存程序之前將其添加到我的 VB 專案中:
這為我解決了錯誤。
此外,這是我之前在 MariaDB 伺服器設定中更改的內容: