【问题标题】:Change datasource in Visual Studio 2012 from SQLSRV to MySQL将 Visual Studio 2012 中的数据源从 SQLSRV 更改为 MySQL
【发布时间】:2014-07-14 01:58:20
【问题描述】:

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

我为 Visual Studio 下载了 MySQL,并在数据源中成功连接到我在 MySQL 中的数据库。

现在我想问一下,如果我的应用程序只对数据库进行简单的 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 时的等效项是什么?

请注意,我不想让你重新制作我的代码或任何东西,我只想知道我是否缺少某些东西,或者更改 DataSource 是否那么简单?提前致谢。

【问题讨论】:

    标签: c# mysql sql visual-studio datasource


    【解决方案1】:

    正如 WearWolf 所写,您需要一个 Mysql 连接器/网络。您可以从 Nuget 下载它作为包。对于您为 Sql Server 编写的代码,需要进行太多修改才能使其在 MySQL 上运行。

    例如

    SqlConnection 将是 MySqlConnection

    SqlCommand 将是 MySqlCommand

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

    您没有提到您的 CRUD 是使用实体框架编写的,data-source 标记在这里造成混淆。

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

    或者,如果您对 CRUD 使用 SQl 查询执行,则只需使用给定的查找和替换即可。

    【讨论】:

    • 我终于改了,我可以插入,但是在选择数据并填充要在数据网格视图中显示的数据集时,我发现这个错误:Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUMERIC) for operation '>=' 完全正确这一行DataSet ds = new DataSet(); dataAdapter.Fill(ds);
    【解决方案2】:

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

    那么你的代码就会变成这样的

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

    应该不会有太大变化,因为两者都是使用 ADO.net 实现的

    【讨论】:

      猜你喜欢
      • 2012-09-22
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多