首页 > 解决方案 > 在 C# 连接字符串中用于 localhost 数据源的内容

问题描述

我目前正在尝试使用 C# 连接到我的本地主机上的数据库,但我不知道如何使用datasource.

我已经尝试过 'localhost'、127.0.0.1 和 "(local)" 。老实说,我不知道该怎么办。有人知道该怎么做吗?

代码:

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 Database_connection
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString;
            SqlConnection cnn;

            string dataSource = "127.0.0.1";

            connetionString = "Data Source=" + dataSource + ";Initial Catalog=mydatabase;User ID=root;Password=root";
            cnn = new SqlConnection(connetionString);
            cnn.Open();

            MessageBox.Show("Connection Open  !");
            cnn.Close();
        }
    }
}

错误:

System.Data.SqlClient.SqlException:'建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

标签: c#mysql

解决方案


如果您在本地计算机上安装了 MySql,那么您需要用于 NET 的 MySql 库(AKA Net Connector),您可以从这里下载它们:

MySQL 社区下载

安装库后,您需要在项目中添加引用

管理项目中的引用

此时,您指示您的代码要使用库提供的命名空间中的类添加

using MySql.Data.MySqlClient;

在文件源的顶部。

最后,您更改类以使用正确的类:

private void button1_Click(object sender, EventArgs e)
{
    string connetionString;
    connetionString = $"Data Source=localhost;Initial Catalog=mydatabase;User ID=root;Password=root";
    using(MySqlConnection cnn = new MySqlConnection(connetionString))
    {
        cnn.Open();
        MessageBox.Show("Connection Open  !");
   }
}

推荐阅读