C# 将Visual Studio 2012中的数据源从SQLSRV更改为MySQL

C# 将Visual Studio 2012中的数据源从SQLSRV更改为MySQL,c#,mysql,sql,visual-studio,datasource,C#,Mysql,Sql,Visual Studio,Datasource,我在Visual Studio 2012中有一个基本应用程序,它连接到Sql Server 2008 R2,但现在我希望它只连接到MySQL数据库(其表和列相同) 我下载了MySQL for Visual Studio,并成功地将数据源连接到MySQL中的数据库 现在我想问,若我的应用程序(除了连接字符串)只对db执行简单的CRUD,那个么我应该对它做什么更改 例如,我更改了连接字符串,当应用程序尝试在db中搜索并填充数据集时,我在以下代码中发现一个错误: SqlDataAdapter data

我在Visual Studio 2012中有一个基本应用程序,它连接到Sql Server 2008 R2,但现在我希望它只连接到MySQL数据库(其表和列相同)

我下载了MySQL for Visual Studio,并成功地将数据源连接到MySQL中的数据库

现在我想问,若我的应用程序(除了连接字符串)只对db执行简单的CRUD,那个么我应该对它做什么更改

例如,我更改了连接字符串,当应用程序尝试在db中搜索并填充数据集时,我在以下代码中发现一个错误:

SqlDataAdapter dataAdapter = database.getPaquetes(date, _destino);

        SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
        DataSet ds = new DataSet();
        dataAdapter.Fill(ds);
        dgv_paqdisp.ReadOnly = true;
        dgv_paqdisp.DataSource = ds.Tables[0];
错误:

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

这些类型仅适用于SQL Server吗?如果是,那么在使用MySQL时,什么是等效的


请注意,我不希望您重新编写我的代码或任何东西,我只想知道我是否遗漏了一些东西,或者更改数据源是否不是那么简单?提前感谢。

您需要添加对程序集的引用。它们应该随MySQL for Visual Studio一起提供,否则该链接会有下载说明

然后你的代码会变成

MySqlDataAdapter dataAdapter = database.getPaquetes(date, _destino);

它应该不会有太大的变化,因为这两种方法都是使用

实现的,正如WearWolf所写,您需要一个Mysql连接器/Net。您可以从Nuget下载它作为软件包。因为您为Sql Server编写的代码需要修改太多才能在MySQL上运行

比如说

SqlConnection
将是
MySqlConnection

SqlCommand
将是
MySqlCommand

您可以对解决方案中的每个.cs文件进行手动查找替换。最后,你将在MySQL中运行你的应用程序

您没有提到您的CRUD是使用实体框架编写的,
datasource
tag在这里造成混淆

如果您使用实体框架,那么只需从数据库生成实体,因为Mysql是不同的数据库系统,您需要首先在Mysql数据库中创建表


或者,如果您使用SQl查询执行CRUD,那么只需使用给定的查找和替换,它就会工作。

我最终更改了它,我可以进行插入,但在选择数据并填充数据集以显示在数据网格视图中时,我发现有以下错误:
排序规则的非法混合(utf8\u general\u ci,可强制)和(拉丁文1_瑞典语ci,数字)用于操作“>=”
正好在此行
DataSet ds=new DataSet();dataAdapter.Fill(ds);