首页 新闻 搜索 专区 学院

C# 连接 ipv6 的 mysql连接字符串怎么写

0
悬赏园豆:10 [已解决问题] 解决于 2018-07-26 14:08

mysql ipv6 监听参照 https://www.jb51.net/article/133019.htm 这篇文章弄得。
Navicat 也可以通过ipv6的账户进行连接
C# 程序改怎么写呢
这样么

    static void Main(string[] args)
    {
        using (MySqlConnection conn = new MySqlConnection("server=::1;uid=ipv6test;pwd=root;database=test1;CharSet=utf8"))
        {               
            string sql = "select * from host";
            using (MySqlCommand comm = new MySqlCommand(sql, conn))
            {
                conn.Open();
                var reader = comm.ExecuteReader();
                if (reader.Read())
                {
                    string host = reader["host"] == System.DBNull.Value ? string.Empty : reader["host"].ToString();
                    Console.WriteLine(host);
                }
                reader.Close();
            }
        }
        Console.ReadKey();
    }   
GYY_顽石的主页 GYY_顽石 | 初学一级 | 园豆:7
提问于:2018-07-26 11:35
< >
分享
最佳答案
0

MySqlConnection 不支持 IPv6 ,需要改用 MySqlConnector

收获园豆:10
dudu | 高人七级 |园豆:36371 | 2018-07-26 11:58

首先感谢大佬的指点,之前还一直在翻stackoverflow 看官方文档,没查出啥头绪。
使用.net core 然后nuget 添加 MySqlConnector起码可以读取数据了
代码和原来的一模一样,在贴一遍吧
···
static void Main(string[] args)
{
using (MySqlConnection conn = new MySqlConnection("server=::1;uid=ipv6test;pwd=root;database=test1;CharSet=utf8"))
{
string sql = "select * from host";
using (MySqlCommand comm = new MySqlCommand(sql, conn))
{
conn.Open();
var reader = comm.ExecuteReader();
while(reader.Read())
{
string host = reader["host"] == System.DBNull.Value ? string.Empty : reader["host"].ToString();
Console.WriteLine(host);
}
reader.Close();
}
}
Console.ReadKey();
}
···
我的老系统都是 Framework的不是 .Net Core 的项目,不过试了一下貌似只需要更改一下Nuget包引用就行,我在研究研究会有其他影响没把,再次感谢大佬
抱歉这代码格式一致整理不好

GYY_顽石 | 园豆:7 (初学一级) | 2018-07-26 14:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册