无法从 Visual Studio 2015 连接到 mysql

2023-11-24

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

我有用于 Visual Studio 的 1.2.4 msql,它应该是在 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 私有程序集,我的包文件夹,我什至没有引用它,我认为是一些 vs2015 文件夹。我已经搜索了 Mysql.Data 并将这些文件粘贴到结果出现的每个文件夹中。我已经重建了大约 100-200 次解决方案,并且哭了至少 20 分钟。

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

I keep getting this stupid enter image description here image and I have really absolutely no idea what to do next. I just want to code but every time I start doing something I keep wasting days on tools not working. Do I really have to code in notepad so that I am sure it's my fault that something isn't working?

这是我的 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 库。虽然这看起来是一个非常简单的答案,但老实说,我一路上遇到了几个问题。考虑到这一点,我将写出 1 个一直对我有用的流程,让 EF 与 MySql 和 VS2015 一起使用。因此,言归正传,以下是我为使其发挥作用而采取的步骤。

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

2) 创建您的网络项目

3)打开Nuget

4)安装实体框架

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。第一步是用此代码替换实体框架部分(将版本号更改为您当前的版本。请注意,我几周前在网络上找到了此代码段,并且没有原始链接。我向原始链接致歉此信息的海报。)

<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 中的版本号错误。如果我从解决方案的包目录中获取此文件,我经常会遇到此中止向导且无错误消息问题。每次从 MySql 安装目录中获取它对我来说都效果很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 Visual Studio 2015 连接到 mysql 的相关文章

随机推荐

  • 函数局部 typedef 在 C++0x lambda 中是否可见?

    我遇到了一个奇怪的问题 以下简化代码重现了 MSVC 2010 中的问题 template
  • 在 Oracle 中定义局部变量的最简单方法是什么?

    在SQL Server中 我可以像这样定义局部变量 declare id number 1000 select from tbl A where id id select from tbl B where id id 非常方便 我尝试做同样
  • 为什么VPC中的AWS lambda函数有时会超时,有时会正常工作?

    我在 VPC 中有一些 lambda 函数 其中一些需要 Internet 才能工作 所以我添加了一个 NAT 实例 t2 micro 问题是我有一些函数有时可以工作 有时会超时 例如 调用 FB API 的函数 80 的时间工作 20 的
  • 在 Vim 中运行 Python 代码

    我正在使用 Vim 编写 Python 代码 每次我想运行代码时 我都会在 Vim 中输入以下内容 w python 这让人沮丧 所以我一直在寻找一种更快的方法来在 Vim 中运行 Python 代码 也许从终端执行 Python 脚本 我
  • 如何抑制 C# 中的 thread.abort() 错误?

    当我的程序加载时 我在后台线程上显示启动屏幕 一旦加载 我将中止线程 因为它的唯一目的是显示 正在加载 启动画面 我的问题是 当中止线程时 它会抛出ThreadAbortException用户只需单击 继续 即可 我该如何处理这个问题 我试
  • 从文本文件中获取非空白行的总数?

    我在用 File ReadLines file txt Count 查找文件中的总行数 我怎样才能做到这一点 但忽略所有空白行 您可以使用String IsNullOrWhiteSpace方法与Count File ReadLines fi
  • 在控制台中查看 TFS 变更集详细信息

    我正在使用 TFS 并且想要查看包含多个文件中的更改的变更集上的所有更改 在 GUI 中查看此内容效率不高 因为我必须打开每个文件 我想做的是告诉控制台上的 TFS 向我显示对变更集编号 777 中的所有文件的所有更改 是否有命令可以执行此
  • 如何输入最初为 None 但保证获得值的提示变量

    我有一个类变量 如下所示 class MyClass def init self self value MyOtherClass None None self initialize value def initialize value se
  • Scala 方法调用中括号的规则是什么?

    toList 不是一个将某些内容转换为 List 的方法吗 如果是的话为什么我不能使用括号呢 我一定在这里遗漏了一些更基本的东西 这是示例 val l Array 1 2 3 toList works fine val l Array 1
  • 如何让 mechanize 等待网页“完全”加载?

    我想抓取一些动态加载其组件的网页 该页面有一个加载脚本 在浏览器中输入 URL 后 3 5 秒我就可以看到完整的页面 问题是 当我打电话时br open URL 响应是 0 秒处的网页 3 5 秒后 HTML 我想要的 和结果之间存在差异b
  • 如何让椭圆闪烁?

    我正在尝试在 WPF 中制作自定义控件 我希望它能够模拟 LED 闪烁的行为 该控件有三种状态 开 关和闪烁 我知道如何通过后面的代码设置打开和关闭 但是这个 WPF 动画东西简直让我发疯 我无法让任何东西动画化 该计划是拥有一个称为状态的
  • Numpy 矩阵旋转任意度数

    我尝试找到一种方法 在包含 RGB 等三个波段但值大于 0 255 的矩阵上应用任意度数的矩阵旋转 这是我的数据示例 其形状为 100 100 3 847 5 877 886 821 5 856 5 898 850 883 969 5 88
  • 我可以显式导入 dom 类型吗?

    按照惯例 开发人员会在全球范围内包含全局 dom 类型并在全球范围内使用它们 compilerOptions lib dom 是否可以显式使用 dom 类型 就像是 import MessagePort HTMLElement from d
  • 如何在 Android 中阅读 pdf

    我想在android 中阅读PDF 文件 我将 PDF 文件放在 asset 文件夹中 我如何从那里读取 PDF 文件 PDF阅读器链接 我已经检查了上面的链接 但它对我不起作用 它给我一个错误 说找不到活动 我还想在WebView中打开P
  • 作为类成员的灵活数组

    海湾合作委员会 G 9 这段代码 class foo int bar 111 123 产生有关灵活数组的初始值设定项的错误 但这一个 class foo int bar 2 111 123 正常编译 有什么解决方法可以不计算我输入的值吗 与
  • Jackson - 动态抑制属性的序列化(写入)

    我正在尝试使用 Jackson 将 Tomcat jersey 中的 java 对象转换为 JSON 对象 并希望动态抑制某些属性的序列化 写入 我可以使用 JsonIgnore 但我想在运行时做出忽略决定 有任何想法吗 因此 作为下面的示
  • Spring Zuul API 网关,在同一请求中使用 Spring Session / Redis 进行身份验证和路由

    在过去的几天里 我一直在苦苦寻找如何做到这一点 最后决定承认失败并寻求帮助 拜托 我遵循 Dave Syer 博士关于 Angular 和 Spring Security 的教程 特别是 Zuul 代理作为 api 网关以及将 Spring
  • toString():用于调试还是用于人类?

    class Address private enum Component NUMBER STREET STATE COUNTRY private Map
  • 真正的随机C#生成器

    Random ran new Random byte tmp byte ran Next 10 这段代码有替代方案吗 它似乎没有完全随机的行为 发生这种情况的原因有多种 一个常见的问题是创建多个实例Random程序中的类 当使用Random
  • 无法从 Visual Studio 2015 连接到 mysql

    所以我已经花了大约 2 天的时间尝试解决这个问题 我已经在我的工作场所电脑上成功修复了这个问题 但无法让它在我的家庭电脑上工作 我读过十几篇 SO 文章和 Oracle 论坛文章等等 但它仍然不起作用 我有用于 Visual Studio