c# - 在 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 的连接)
解决方案
如果您在本地计算机上安装了 MySql,那么您需要用于 NET 的 MySql 库(AKA Net Connector),您可以从这里下载它们:
安装库后,您需要在项目中添加引用
此时,您指示您的代码要使用库提供的命名空间中的类添加
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 !");
}
}
推荐阅读
- javascript - 我如何以数组格式表示这些数据
- python - 将标签的 Tkinter 窗口保存到图像文件
- python - 如何在不创建列表的情况下添加到 python 中的列表
- bash - 将文件的创建日期保存到变量中 - BASH 脚本 - UNIX
- c# - 如何在剃须刀组件中显示计算机名称
- sqlite - 如果 A 为空,则在 A 列上进行内部连接,然后在 B 列上连接,如果 B 为空,则在 C 列上连接
- arduino - 使用 PlatformIO (Arduino) 从内部振荡器运行 STM32F103?
- typescript - 为什么 querySelectorAll('div') 返回 HTMLDivElement 列表但 querySelectorAll('div.className') 返回 TypeScript 中的 Element 列表
- python - 我正在查看列表二中的项目是否是列表一中每个位置数据的三倍
- database - 3NF 表是否可以有一个具有重复值的 PK,但所有非键都依赖于 PK(无传递依赖)?