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

     

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

     

    原文:http://www.cnblogs.com/slayercat/archive/2013/04/29/3050688.html

  • 相关阅读:
    input宽度自适应
    七牛云上传 图片
    删除文件夹所有内容
    无法获取 div123 的内部内容,因为该内容不是文本。
    关于"无法删除数据库 'xxx',因为该数据库当前正在使用" 解决办法
    Asp.Net 获取FileUpload控件的文件路径、文件名、扩展名
    asp.net复制整个文件夹
    多行文本框内容转换空格换行
    花(唯一分解定理+排列组合+快速幂)
    Xn数列(矩阵乘法+快速幂+慢速乘法)
  • 原文地址:https://www.cnblogs.com/lyghost/p/3350774.html
Copyright © 2020-2023  润新知