我在Visual 2012中有一个基本应用程序,它连接到Server 2008 R2,但现在我希望它只连接到MySQL数据库(其表和列是相同的)。
我下载了Visual的MySQL,并在数据源中成功地连接到了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];错误:
在建立到Server的连接时发生了与网络相关的或特定于实例的错误.找不到或无法访问服务器。验证实例名是否正确,以及Server是否配置为允许远程连接。( Provider :命名管道提供程序,错误: 40 -无法打开到Server的连接)。
这些类型仅用于Server吗?如果是,在使用MySQL时,什么是等效的?
请注意,我不想让您重新编写我的代码或任何东西,我只想知道是否有我缺少的东西,或者更改DataSource并不那么简单?提前谢谢。
发布于 2014-05-25 00:33:38
在编写WearWolf时,您需要一个/Net。你可以从Nuget下载它作为软件包。对于您为Server编写的代码,需要修改太多才能使它在MySQL上工作。
例如
SqlConnection将是MySqlConnection
SqlCommand将是MySqlCommand
您可以对解决方案中的每个.cs文件进行手动查找替换。最后,您将在MySQL中使用您的应用程序。
您没有提到CRUD是使用实体框架编写的,data-source标记在这里造成了混乱。
如果使用实体框架,那么只需从数据库生成实体,因为Mysql是一个不同的数据库系统,因此首先需要在mysql数据库中生成表。
或者,如果您对CRUD使用SQl查询执行,那么只需使用给定的查找和替换就可以了。
发布于 2014-05-24 23:58:03
您将需要添加对MySQL连接器/网程序集的引用。它们应该附带Visual的MySQL,否则该链接有下载说明。
那么您的代码就会变成
MySqlDataAdapter dataAdapter = database.getPaquetes(date, _destino);它不应该有太大的变化,因为两者都是使用ADO.net实现的
https://stackoverflow.com/questions/23850724
复制相似问题