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打开的,不属于项目里头的东西,因此会报错。

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

  • 相关阅读:
    传递函数笔记
    模糊控制算法详细讲解
    SDRAM学习笔记
    基于STM32的CRC校验说明
    如何把图片设置成24位图/8位图??
    C2MIF软件使用说明
    ROM和RAM的内存详细说明
    Logback配置
    Logback使用
    common-logging源码解析
  • 原文地址:https://www.cnblogs.com/slayercat/p/3050688.html
Copyright © 2011-2022 走看看