在 C# 应用程序中连接到 Mariadb

问题描述 投票:0回答:1

我是 C# 新手。我正在尝试使用简单的 Windows 表单应用程序连接到我的本地 MariaDb 数据库。我的连接已成功建立,但后来被远程主机强制关闭。我正在附上我的代码。你们能检查一下这个代码并帮助我缺少什么吗?预先感谢

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connectionString;
            SqlConnection cnn;
            connectionString = @"Data Source=xxx.xxx.x.xx,xxxx;Initial Catalog=dataBaseName;User ID=UID;Password=Password";
            cnn = new SqlConnection(connectionString);
            cnn.Open();
            MessageBox.Show("Connection Open !");
            cnn.Close();

        }
    }
}

这是我遇到的错误

System.Data.SqlClient.SqlException:'连接成功 与服务器建立了连接,但在预登录 > 握手期间发生错误。 (提供程序:TCP 提供程序,错误:0 - 现有连接已 被远程主机强行关闭。)'

c# mysql .net mariadb
1个回答
0
投票

要从 .NET 连接到 MariaDB,首先将 Nuget 包

MySqlConnector
添加到您的项目中

将以下包引用添加到您的

*.csproj
文件中:

<ItemGroup>
  <PackageReference Include="MySqlConnector" Version="2.3.5" />
</ItemGroup>

添加导入

using MySqlConnector;

然后您可以使用以下方法连接MariaDB实例:

private static void Connect(string server, string dbName, string userName, string password)
{
    string connectionString = $"Server={server};Database={dbName};User={userName};Password={password};";
    using (var connection = new MySqlConnection(connectionString))
    {
        try
        {
            connection.Open();
            Console.WriteLine("Connection succeeded.");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Connection error: {ex.Message}");
        }
    }
}

使用示例:

string server = "127.0.0.1";
string dbName = "test";
string userName = "root";
string password = "sa";

Connect(server, dbName, userName, password);
© www.soinside.com 2019 - 2024. All rights reserved.