zoukankan      html  css  js  c++  java
  • Model报错:指定的存储区提供程序在配置中找不到 的解决

    开了项目发现没装mysql及mysql connector/.net。下了个最新版本,结果打开vs,进入模型edmx页面就出了这个问题。

    刚开始以为是ProviderManifestToken版本的问题,上头写着5.6,改成.net的dll版本后无效。多处查看这个参数的含义才发现这个表示的是mysql的版本号(与sqlserver连接器一致),虽然我没弄明白为什么这个要放里头。

    然后网上google,mysql的信息很少,不过有不少是sqllite的,应该差不多。将如下内容添加到web.config里头,错误还是没有解决。当时还是不确定是为什么。

    <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.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
         </DbProviderFactories>
      </system.data>

    多方google后发现很多地方提到是说这个没有在machine.conf里头写。于是决定冒险改一下。备份machine.conf后开始改,将这一句加进去,加到system.data节中的dbproviderfactories节后头:

    <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.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

    其实我改对了,但没有生效,很郁闷的想了半天出去吃了个饭,回来再看,发现只改了freamwork64目录下头的config,没改freamwork下头的config。于是继续改,改好了后重启vs就可以了。

    后来推测为什么web.conf里头不行,我想是由于model那edmx是用vs打开的,不属于项目里头的东西,因此会报错。

    不过无论如何,做好了,小记一下,或许会有和我一样找了几个小时的家伙偶尔看到。

  • 相关阅读:
    博客诞生感言~
    java 字符串锁
    oracle三种表连接方式
    两张超级大表join优化
    docker安装配置gitlab详细过程
    docker安装应用
    docker安装教程-centos
    JVM参数调优
    java向word中插入Excel附件
    application.properties参数详解
  • 原文地址:https://www.cnblogs.com/slayercat/p/3050688.html
Copyright © 2011-2022 走看看