草庐IT

mysql - 无法从 visual studio 2015 连接到 mysql

coder 2023-10-02 原文

所以我已经花了大约 2 天时间尝试解决这个问题。我已经成功地在我的工作场所电脑上修复了这个问题,但无法让它在我的家用电脑上运行。我已经阅读了大约十二篇 SO 文章和 oracle 论坛文章等等,但它仍然不起作用。

我有 1.2.4 msql for visual studio,它应该是一个适用于 vs2015 的版本。我已经安装了 mysql 连接器 6.8.6,并首先尝试通过 nuget 将 mysql 添加到我的项目中,但是在找不到 6.8.6 版本之后(一个包有 6.8.3 和 6.9.7,然后又是其他的对于另一个......)我已经引用了我的 C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.6\Assemblies\v4.5 并在那里获取了 4 个文件并将它们复制到整个 fkin计算机。我把它贴得到处都是。 vs2013 私有(private)程序集,我什至没有引用的包文件夹,我认为是一些 vs2015 文件夹。我搜索了 Mysql.Data 并将这些文件粘贴到结果出现的每个文件夹中。我已经重建解决方案大约 100-200 次并且哭了至少 20 分钟。

我必须做什么才能生成新的 ADO.Net 实体数据模型?

我一直觉得这很蠢 图像,我真的完全不知道下一步该做什么。我只想编写代码,但每次我开始做某事时,我都会在无法正常工作的工具上浪费几天时间。我真的必须在记事本中编写代码,这样我才能确定出现问题是我的错吗?

这是我的 app.Config 文件。我的项目中没有任何其他内容。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v12.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.8.6.0" newVersion="6.8.6.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <connectionStrings>
    <add name="KPlusConnectionString" connectionString="server=dito.ninja;user id=xxx;password=xxx;database=xxx" providerName="MySql.Data.MySqlClient" />
  </connectionStrings>
</configuration>

最佳答案

为了让 VS 2015 连接到 MySql,您需要使用更高版本的 MySql 库。虽然这看起来是一个非常简单的答案,但老实说,我在此过程中遇到了几个问题。考虑到这一点,我将写出在让 EF 与 MySql 和 VS2015 一起工作方面一直对我有用的 1 个过程。因此,事不宜迟,以下是我为实现这一目标而采取的步骤。

1) 确保 MySql 连接器安装已更新

2) 创建您的网络项目

3) 打开Nuget

4) 安装 Entity Framework

5) 搜索MySql

6) 安装MySql.Data

7) 安装MySql.Data.Entity

8) 安装 MySql.Data.Entities

9) 安装MySql.Web

10) 转到项目的引用并删除 MySql.Data.Entity.EF6

11) 检查 MySql.Data 和 MySql.Web 库的版本。如果低于 6.9.6 也删除它们

12) 通过浏览到适用于您的 .NET Framework 版本的 mysql 连接器的安装位置(我的是 C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4. 5) 并获取 MySql.Data.Entity.EF6.dll(我的版本是 6.9.6,稍后我们更改 web.config 时请记住这一点)

13) 如果其他库也是旧版本,请通过浏览到解决方案中的包文件夹并从它们各自的文件夹中抓取文件来添加对它们的引用。我通常不必这样做。

14) 现在需要编辑 Web.config。第一步是用这段代码替换 Entity Framework 部分(将版本号更改为您当前的版本。请注意,我几周前在网上找到了这段代码,但没有原始链接。我向原作者道歉此信息的海报。)

<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>

15) 确保您的 DbProviderFactories 部分匹配

<DbProviderFactories>
  <remove invariant="MySql.Data.MySqlClient" />
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

16) 保存并构建

我不确定实际需要执行多少这些步骤,但在最终完成之后,我不得不真正完成一些工作,没有时间进一步缩小范围。希望这能让你感动。

附言如果在所有这些之后你通过向导并且它在它向你显示数据库中的表以从中创建实体之前就消失了,那么它可能是我在此过程中遇到的三个问题之一。无法联系数据库服务器。用户对数据库没有所需的权限。添加了错误版本的 MySql.Data.Entity.EF6 作为引用或 web.config 中的版本号错误。如果我从我的解决方案的包目录中获取此文件,我经常会遇到这个 aborted-wizard-with-no-error-message 问题。从 MySql 安装目录中获取它对我来说每次都很好。

关于mysql - 无法从 visual studio 2015 连接到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32037178/

有关mysql - 无法从 visual studio 2015 连接到 mysql的更多相关文章

  1. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  2. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  3. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  4. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  5. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  6. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  7. ruby - 无法覆盖 irb 中的 to_s - 2

    我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)

  8. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  9. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  10. ruby-on-rails - 无法让 rspec、spork 和调试器正常运行 - 2

    GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'

随机推荐