你已经有一个可用的连接

本文关键字:连接 有一个 | 更新日期: 2023-09-27 18:01:50

我对Visual Studio 2013相当有经验,我现在正在升级到VS 2015,并遇到并发布添加新数据源到Windows窗体应用程序。很容易重现我的问题。

这是我的设置:

Visual Studio 2015 Enterprise 2015 Update 3
MySQL for Visual Studio 1.2.6
Connector/Net 6.9.9

注意:上述配置是根据位于http://dev.mysql.com/doc/visual-studio/en/visual-studio-install.html的支持信息矩阵支持的,我也尝试了那里列出的支持软件的几乎所有其他排列。

下面是如何重新创建这个问题:

新的c# Windows窗体应用程序
添加新数据源
数据库
数据集
新建连接(连接正常)
保存连接
选择数据库对象
选择任意表
完成

错误:一些更新命令不能自动生成。数据库返回以下错误:你已经有可用的连接了。

感谢任何能给我提示我可能做错了什么的人。

你已经有一个可用的连接

  1. Install mysql-for-visualstudio-2.0.4.msi (here).
  2. Install Connector/Net 6.9.9.msi (here).

这是我找到的解决方案。当我进一步研究时,我发现某些东西(我不知道是什么)期待Connector/net 6.9.9,而另一些东西(我也不知道是什么)期待Connector/net 6.9.8。在我的项目或安装中没有任何东西应该参考6.9.8。无论如何,我安装了6.9.8,从那以后一切都运行得很好。

在过去的24小时里,我一直在纠结这个问题。

第一个问题:你有没有从VS中删除任何项目文件?我去了回收站,从我删除的VS中恢复了所有的东西。

这解决了问题。确保所有来自VS的数据连接都已恢复。

如果不行,告诉我。

我尝试了上面提到的几乎所有的解决方案都失败了,最后我所做的是

  1. 通过右键单击项目手动创建数据集并添加新数据集。
  2. 然后在其中创建DataTable,所有列在查询中相同。
  3. 您可以在rdlc报告中看到报告数据菜单。在下面你可以看到数据集,你可以把数据表列拖放到rdlc报告。
  4. 在后台你可以这样写

            var ds = this.GetData();
            var dt = ds.Tables[0];
            ReportViewer1.Reset();
            ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report1.rdlc");
            ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", dt)); // same name as dataset created under report data menu
            ReportViewer1.DataBind();
            ReportViewer1.LocalReport.Refresh();
    

按以下步骤操作:

  1. 卸载MySQL Connector/NET
  2. 重新安装MySQL Connector/NET
相关文章: