Warm tip: This article is reproduced from serverfault.com, please click

mysql-到本地主机数据库c#的连接错误

(mysql - Connection error to localhost database c#)

发布于 2021-10-13 20:41:53

你好我正在尝试使用 System.Data.SqlClient 连接到数据库。我认为我的一切都是正确的,但由于某种原因,Visual Studio 给出了一个错误:

编辑:事实证明,当我的数据库是 MySql 时,我很笨并且使用 System.Data.SqlClient,所以我将其更改为 MySql.Data.MySqlClient 并更改了所有变量方法和所有内容。我还将它使用的端口更改为 3306,因为它是我在 xampp 中为 mysql 设置的端口。虽然我仍然收到一条错误消息:

System.ArgumentException:“连接选项“服务器”重复。”

现在要回答一些问题,我不知道实例的名称是什么,但我从来没有设置任何所以 Idk 是否有(对不起,我不是很先进)。我没有在连接字符串中添加密码,因为我拥有的唯一用户是没有任何密码的 root。我想我看到有些人使用了诸如 TrusedConnection=true 之类的东西,但我不知道在这里这样做是否正确。我的 MySql 版本是 15.1。这是更新的代码:

using System;
using MySql.Data.MySqlClient;


namespace ConsoleApp2
{
    class Program
    {
        private static void Main()
        {
            string conn = "Initial Catalog=world.sql;user=root;Server=127.0.0.1,3306";

            MySqlConnection myConnection = new MySqlConnection(conn);
            MySqlDataReader myReader = null;
            string sql = "SELECT * FROM coutry";

            MySqlCommand myCommand = new MySqlCommand(sql, myConnection);
           
                myConnection.Open();
                myReader = myCommand.ExecuteReader();

                while (myReader.Read())
                {
                    for (int i = 0; i < myReader.FieldCount; i++)
                    {
                        Console.WriteLine(myReader[i].ToString());
                    }

                }
                myConnection.Close();
        }
    }
}
Questioner
shade999
Viewed
0
Alfe 2021-10-14 05:22:54

使用这样的连接字符串格式:Server=localhost;User=user_name;Database=db_name;Port=3306;Password=password;SSL Mode=None 除此之外,永远不要使用 root 帐户。只需创建一个有密码的帐户。如果你将这些东西应用到你的代码中,错误应该会消失。