基于C#的应用开发

本文介绍基于C#语言,通过MySQL.Data包进行应用开发的方法。

前提条件

操作步骤

  1. 安装Dotnet。安装包下载地址:Dotnet

  2. 执行以下命令,新建Dotnet项目。

    dotnet new console --framework net7.0
  3. 执行以下命令,添加MySQL.Data依赖。

    dotnet add package MySql.Data -v 8.0.11
  4. 设置连接参数。

    string connStr = "server=ld-uf6k8yqb741t3****-proxy-sql-lindorm.lindorm.rds.aliyuncs.com;UID=user;database=default;port=33060;password=test";

    参数说明

    参数

    说明

    server

    Lindorm宽表引擎的MySQL兼容地址。如何获取,请参见查看连接地址

    重要
    • 如果应用部署在ECS实例,建议您通过专有网络访问Lindorm实例,可获得更高的安全性和更低的网络延迟。

    • 如果应用部署在本地,在通过公网连接Lindorm实例前,需在控制台开通公网地址。开通方式:在控制台选择数据库连接 > 宽表引擎,在宽表引擎页签单击开通公网地址

    • 通过专有网络访问Lindorm实例,server请填写MySQL兼容地址对应的专有网络地址。通过公网访问Lindorm实例,server请填写MySQL兼容地址对应的公网地址。

    UID

    如果您忘记用户密码,可以通过Lindorm宽表引擎的集群管理系统修改密码。具体操作,请参见修改用户密码

    password

    database

    需要连接的数据库名称。默认连接default数据库。

    port

    Lindorm宽表引擎MySQL协议的端口,固定为33060。

  5. 创建连接,通过宽表SQL语法使用Lindorm宽表引擎。以查询所有数据库为例。

    MySqlConnection conn = new MySqlConnection(connStr);
                try
                {
                    Console.WriteLine("Connecting to MySQL...");
                    conn.Open();
                    string sql = "show databases;";
                    MySqlCommand cmd = new MySqlCommand(sql, conn);
                    MySqlDataReader rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        Console.WriteLine(rdr[0]);
                    }
                    rdr.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                conn.Close();
                Console.WriteLine("Done.");

完整示例

using System;
using MySql.Data.MySqlClient;
namespace connectLindorm
{
    class Program
    {
        static void Main(string[] args)
        {
            //server为Lindorm宽表引擎的MySQL兼容地址
            //user为Lindorm宽表引擎的用户名
            //database为需要连接的数据库名称
            //password为Lindorm宽表引擎的密码
            //port为Lindorm宽表引擎MySQL协议的端口,固定为33060
            string connStr = "server=ld-uf6k8yqb741t3****-proxy-sql-lindorm.lindorm.rds.aliyuncs.com;UID=user;database=default;port=33060;password=test";
            MySqlConnection conn = new MySqlConnection(connStr);
            try
            {
                Console.WriteLine("Connecting to MySQL...");
                conn.Open();
                string sql = "show databases";
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                MySqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    Console.WriteLine(rdr[0]);
                }
                rdr.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            conn.Close();
            Console.WriteLine("Done.");
        }
    }
}

如果当前实例仅有default一个数据库,执行成功后将返回如下结果:

Connecting to MySQL...
default
information_schema
Done.