我有用 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) 我在 Flutter 中有代码:
Widget build(BuildContext context) {
return ListView(
children: [
Container(
margin: EdgeInsets.only(left: 15, right: 15, top: 30),
child: Text("Enter your phone",
style: TextStyle(fontSize: 16)),
),
Container(
margin: EdgeInsets.only(left: 15, right: 15),
child: TextField(
controller: phoneNumber,
keyboardType: TextInputType.number,
autofillHints: [AutofillHints.telephoneNumberNational],
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.digitsOnly,
],
decoration: InputDecoration(
border: UnderlineInputBorder(),
labelText: "Phone",
labelStyle: TextStyle(color: Colors.black),
icon: Icon(Icons.phone_outlined),
),
),
),
Container(
margin: EdgeInsets.only(left: 15, right: 15, top: 20),
child: Text("You will receive code in SMS",
style: TextStyle(fontSize: 16)),
),
Container(
margin: …Run Code Online (Sandbox Code Playgroud)