• CodeSmith介绍和常见问题解决方案


    一、CodeSmith介绍

          CodeSmith模板代码生成实战详解  https://www.cnblogs.com/knowledgesea/p/5016077.html

    二、CodeSmith连接不上MySQL解决方法

    在codesmith中选择MySQLSchemaProvider并连接数据库时,会报以下错误:

    Test failed.  找不到请求的 .Net Framework 数据提供程序。可能没有安装。

       

    1.如果你安装了mysql-connector-net 那么你就进安装路径里面找到 MySql.Data.dll;如果没有,访问http://dev.mysql.com/downloads/connector/net/,下载并安装mysql-connector-net-x.x.x.msi。其中x.x.x是版本号,直接下载最新版即可。

    2.复制"MySql.Data.dll"到X:XXCodeSmithv*.*SchemaProviders目录下和Codesmith的Bin目录下。

    3.修改CodeSmith.exe.config,添加mysql的DbProviderFactories配置(注意版本号和PublicKeyToken要与上面的MySql.Data.dll保持一致),下面以版本6.7.4.0为例,修改的CodeSmith.exe.config的配置全部代码如下;保存CodeSmith.exe.config 重新打开CodeSmith.exe 完美运行。

    复制代码
    <?xml version="1.0"?>
    <configuration>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>
        <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.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
            </DbProviderFactories>
        </system.data>
      <system.diagnostics>
        <switches>
          <add name="CodeSmithSwitch" value="4" />
        </switches>
      </system.diagnostics>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <probing privatePath="bin;AddIns;SchemaProviders"/>
        </assemblyBinding>
      </runtime>
    </configuration>
    复制代码

    附上a/MySql.Data.dll(版本6.7.4.0)链接:点击下载

           b、利用VS自带的命令行工具查看和生产PublicKeyToken:https://blog.csdn.net/kuui_chiu/article/details/6914049      

    二、CodeSmith使用

          连接字符串   https://www.connectionstrings.com/

           ACCESS数据库   Provider Type:ADOXSchemaProvider

              1:无密码的Access链接为:
                    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:hhdb.mdb;
              2:有密码的Access链接:
                    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:hhdb.mdb;
                    Jet OLEDB:Database Password=1111

           Sql数据库  Provider Type:SqlSchemaProvider

                    server=192.1.1.14;User ID=test;Password=test;database=test;
                    Pooling=TRUE;Max Pool Size=1000;Connection Reset=FALSE

             Oracle数据库   Provider Type:OracleSchemaProvider
                   1:下载提供的ORACAL 驱动
                   2:Data Source=192.1.1.14;Database=test;Password=test;User ID=test

                   asp.net(C#)链接Oracle连接字符串

             MySql数据库  Provider Type:MySqlSchemaProvider

                       Database=test;Data Source=127.0.0.1;User Id=root;Password=password;port=3306

         

              CodeSmith自己动手写模板    https://www.cnblogs.com/sunniest/p/4128183.html

           CodeSmith无法获取MySQL表及列Description说明注释的解决方案

                https://blog.csdn.net/nihaoapengyou/article/details/52587986

                https://www.cnblogs.com/xinzheng/p/5809766.html

  • 相关阅读:
    [LeetCode] Maximum Depth of Binary Tree
    [LeetCode] Binary Tree Level Order Traversal II
    阿里第一天——maven学习
    微博用户行为分析
    对节目微博进行强过滤之后的处理
    关于推荐和机器学习的几个网站
    大论文微博个性化
    新浪微博用户分析
    位运算符规律小结
    字符串类常见面试大题
  • 原文地址:https://www.cnblogs.com/cheng2015/p/9220591.html
Copyright © 2020-2023  润新知