最近研究codesmith的用法,遇到了如题的问题,记录一下解决的方法。
在codesmith中选择MySQLSchemaProvider并连接数据库时,会报以下错误:
Test failed. 找不到请求的 .Net Framework 数据提供程序。可能没有安装。
访问http://dev.mysql.com/downloads/connector/net/,下载并安装mysql-connector-net-x.x.x.msi。其中x.x.x是版本号,直接下载最新版即可.
复制MySql.Data.dll到指定目录:
修改machine.config配置:C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG下,修改节点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=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
连接数据库的时候,连接字符串有自己的格式,如下:
1:CodeSmith选中链接类型是:ADOXSchema 2:无密码的Access链接为: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb; 3:有密码的Access链接: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb; Jet OLEDB:Database Password=1111 Sql数据库 server=192.1.1.14;User ID=test;Password=test;database=test; Pooling=TRUE;Max Pool Size=1000;Connection Reset=FALSE Oracle数据库 1:下载提供的ORACAL 驱动 2:Data Source=192.1.1.14;Data Source=test;Password=test;User ID=test MySql数据库 server=127.0.0.1;User ID=root;Password=......;database=myProject;