Saya cuba menjalankan pelayan dengan pangkalan data MySQL, tetapi saya terus mendapat ralat besar ini dan saya tidak tahu mengapa.
[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)```
Terdapatkemas kini/NET tersedia untuk penyambung MySQL.
Selepas mengemas kini kepada versi 8.0.28 (pakej NuGet
MySql.Data
) semuanya kembali normal.Dalam kes saya, saya memasang yang lalai dengan
utf8mb3
的10.6.4-MariaDB
.Saya mendapat ralat yang sama semasa cuba membaca jadual.
Saya membetulkan isu dengan menukar semua tetapan set aksara dalam konfigurasi MariaDB kepada
utf8mb4
.Kemudian membuang pangkalan data saya dan mengimportnya semula. Kali ini nyatakan
utf8mb4
semasa membuat pangkalan data.Jadi, pertanyaan
SELECT
、UPDATE
biasa berfungsi dengan baik dan tiada lagi ralat berlaku.Tetapi apabila aplikasi saya memanggil prosedur tersimpan, saya terus mendapat ralat.
Saya rasa mungkin kerana prosedur tersimpan disimpan ke
information_schema
数据库中,它仍然是utf8mb3
并且我找不到将其更改为的方法>utf8mb4
.Selepas menghabiskan banyak masa cuba melaksanakan beberapa penyelesaian pelik, saya menemui laporan pepijat ini:
Tidak dapat menggunakan MariaDB 10.6 daripada aplikasi klien C#:
https://jira.mariadb.org/browse/MDEV-26105?attachmentViewMode=List
Seorang pengguna di sana berkata:
Jadi saya akhirnya menambah ini pada projek VB saya sebelum melaksanakan prosedur tersimpan:
Ini menyelesaikan ralat untuk saya.
Selain itu, inilah yang saya ubah sebelum ini dalam konfigurasi pelayan MariaDB: