我有用 C# 编写的 MySql (MariaDB 5.5.5-10.11.0) 的简单连接字符串:
MySqlConnection Database = new MySqlConnection("Server=127.0.0.1; Port=3306; Database=test; Uid=user; Pwd=MyPassword; Ssl Mode=Required; convert zero datetime=True;");
Run Code Online (Sandbox Code Playgroud)
在两台计算机(Windows 10 和 Windows 11)上一切正常。但是当我尝试在 Windows Server 2022 上启动此应用程序时,出现此错误:
System.InvalidCastException: Object cannot be cast from DBNull to other types.
at System.DBNull.System.IConvertible.ToInt32(IFormatProvider provider)
at System.Convert.ToInt32(Object value, IFormatProvider provider)
at MySql.Data.MySqlClient.Driver.LoadCharacterSets(MySqlConnection connection)
at MySql.Data.MySqlClient.Driver.Configure(MySqlConnection connection)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at MariaDB.Program.StartAPI()
Run Code Online (Sandbox Code Playgroud)
Database.Open() 抛出错误;
MariaDB 已安装并正在运行,Ssl 正在工作,用户权限已授予,端口正确。有什么想法吗?
整个程序:
using System;
using MySql.Data.MySqlClient;
namespace MariaDB
{
internal class Program
{
MySqlConnection Database = new MySqlConnection("Server=127.0.0.1; …Run Code Online (Sandbox Code Playgroud)