由于笔者最近在做一个跨数据库操作的测试,开始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataAccess.1.9.2)+ SQL Server2005的测试时,使用都很顺利,但是使用IBatisNet+ MySQL(5.1)的时候,却出现了一些问题。经过努力和网上收集终于解决了,下面把问题和解决办法一一贴出来共享。
问题描述:
1. 错误提示Check the MySQL。
出现这个问题首先请下载mySQL-connector-net,如果已经下载并安装了,继续检查IBatisNet的providers.config文件里的MySQL的provider节点的enabled是否设为“true”了,如果设为“true”,继续检查provider,官方提供的配置有些使用动态链接库文件版本很老,你需要手动去修改,例:
修改前:
- name="MySQL"
- description="MySQL, MySQL provider 1.0.7.30072"
- enabled="false"
- assemblyName="MySQL.Data,
- Version=1.0.7.30072, Culture=neutral,
- PublicKeyToken=c5687fc88969c44d" connectionClass="MySQL.Data.MySQLClient.MySQLConnection"
- commandClass="MySQL.Data.MySQLClient.MySQLCommand"
- parameterClass="MySQL.Data.MySQLClient.MySQLParameter"
- parameterDbTypeClass="MySQL.Data.MySQLClient.MySQLDbType"
- parameterDbTypeProperty="MySQLDbType"
- dataAdapterClass="MySQL.Data.MySQLClient.MySQLDataAdapter"
- commandBuilderClass="MySQL.Data.MySQLClient.MySQLCommandBuilder"
- usePositionalParameters="false"
- useParameterPrefixInSQL="true"
- useParameterPrefixInParameter="true"
- parameterPrefix="?"
- allowMARS="false"
- />
修改后(加亮这个一定要注意,如果为false,是不能连接数据库成功的):
- name="MySQL"
- description="MySQL,
- MySQL provider V6.3.2.0"
- enabled="true"
- assemblyName="MySQL.Data, Version=6.3.2.0,
- Culture=neutral, PublicKeyToken=c5687fc88969c44d"
- connectionClass=
- "MySQL.Data.MySQLClient.MySQLConnection"
- commandClass=
- "MySQL.Data.MySQLClient.MySQLCommand"
- parameterClass=
- "MySQL.Data.MySQLClient.MySQLParameter"
- parameterDbTypeClass=
- "MySQL.Data.MySQLClient.MySQLDbType"
- parameterDbTypeProperty=
- "MySQLDbType"
- dataAdapterClass=
- "MySQL.Data.MySQLClient.MySQLDataAdapter"
- commandBuilderClass=
- "MySQL.Data.MySQLClient.MySQLCommandBuilder"
- usePositionalParameters="false"
- useParameterPrefixInSQL="true"
- useParameterPrefixInParameter="true"
- parameterPrefix="?"
- allowMARS="false"
- />
2. 错误提示 Unable to open connection to "MySQL, MySQL provider V6.3.2.0"。
出现这样的错误可能是Configure方法指定的配置文件的链接字符串有点问题,一下是我的,仅供参考。
- "http://ibatis.apache.org/dataMapper" xmlns:xsi=
- "http://www.w3.org/2001/XMLSchema-instance">
- connectionString="Host=localhost;UserName=
- root;Password=1234;Database=zy_test;Port=3306;
- CharSet=utf8;Allow Zero Datetime=true"/>
3. 错误提示 Character set 'gbk' is not supported。
出现此问题,可能你用了底版本的MySQL-connector-net,因为在MySQL Connector 1.07中提供的字符编码是有限的,找到不到web.config中设置的编码类型,没有gbk,换个版本高的MySQL Connector 。
【编辑推荐】
下一篇:教育网网站挂马监测分析