最近一个小的项目使用了IBatisNet(IBatis.DataMapper.1.6.2/IBatis.DataAccess.1.9.2)+ MySql(5.0),之前一直用IBatisNet + SqlServer2005,使用都很顺利,但IBatisNet + MySql确出现了一些问题,目前出现的问题都解决了,下面会一一描述。
问题描述:
1. 错误提示Check the MySql。
出现这个问题首先请下载mysql-connector-net,如果已经下载并安装了,继续检查IBatisNet的providers.config文件里的MySql 的provider节点的enabled是否设为“true”了,如果设为“true”,继续检查provider,官方提供的配置有些使用动态链接库文件版本很老,你需要手动去修改,例:
修改前:
<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,是不能连接数据库成功的):mysql.data.dll
<provider 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方法指定的配置文件的链接字符串有点问题,一下是我的,仅供参考。
<?xml version="1.0" encoding="utf-8" ?> <sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!--以上为固定格式,从这里开始以下是用户配置项 --> <settings> <!-- 该选项指示是否使用缓存,默认为true --> <setting cacheModelsEnabled="true"/> <!-- 当该选项为true时,你在调用指定的映射时你总是必须给出完整的名称例如:queryForObject(“Namespace.statement.Id”); --> <setting useStatementNamespaces="false" /> </settings> <!-- 数据驱动提供类配置文件的路径和文件名 --> <providers resource="providers.config" /> <!-- 指定一个属性源,相当与设置一些属性变量,该文件请查看下面 --> <!--指定数据源${datasource} ${database} ${userid} ${password} 为DataBase.config定义的值--> <database> <!--<provider name="ByteFx"></provider> <dataSource name="IBatisNet" connectionString="Database=zy_test;Data Source=localhost;User Id=root;Password=1234"/>--> <provider name="MySql"></provider> <dataSource name="IBatisNet" connectionString="Host=localhost;UserName=root;Password=1234;Database=zy_test;Port=3306;CharSet=utf8;Allow Zero Datetime=true;Connect Timeout=300"/> </database> <!--指定映射的文件的位置 --> <sqlMaps> <!-- 从程序集中 <sqlMap embedded="${root}Person.xml,${assembly}" />--> <!-- 从文件中--> <sqlMap resource="SqlDetailXml/SystemXml/RoleInfo.xml" /> <sqlMap resource="SqlDetailXml/SystemXml/ModuleInfo.xml" /> <sqlMap resource="SqlDetailXml/SystemXml/UserInfo.xml" /> </sqlMaps> </sqlMapConfig>
3. 错误提示 Character set 'gbk' is not supported。
出现此问题,可能你用了底版本的mysql-connector-net,因为在MySQL Connector 1.07中提供的字符编码是有限的,找到不到web.config中设置的编码类型,没有gbk,换个版本高的MySQL Connector 。
下载IbatisNet软件包:
http://ibatis.apache.org/dotnetdownloads.cgi
mysql-connector-net
http://download.softagency.net/MySQL/Downloads/Connector-Net/
相关推荐
系统(ibatisnet + mysql ) ibatisnet sql配置文件内置,数据库连接字段加密,dubug日志输出。 系统中已完成ibatisnet下的增删改查等一系列操作,在用户管理中可以看到 并加入事务处理,日志记录。 登陆验证,自动...
C# winform ibatisnet datagridview数据库分页。 使用前先在数据库中创建sys_user表。字段看配置文件。
包含一个正则表达式工具 winform C# IBatisNet 调用存储过程 m mysql
iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。下面是一个简单的iBATISNet应用架构。 项目中...
ibatisnet.common.dll Ibatis.DataMapper.dll MySql.Data.dll.rar别人要太贵,我就要5个
C#根据mysql数据库表结构生成IBatisNet的C#类和XML配置文件,作者一直使用
winfrom 框架(mysql + ibatisnet ) 框架内包含了数据库分页自定义控件,ibatisnet数据库访问框架,sql配置文件内置,数据库连接地址加密。 登陆验证,日志记录,异常处理,事务处理。 系统也可换成oracle数据库,...
动软DBUtility类,含oracle,sqlserver,mysql,sqllite 和 所需DLL COM.Excel.dll Excel.dll IBatisNet.Common.dll IBatisNet.DataMapper.dll MySql.Data.dll OpenSmtp.dll OWC10Chart.dll
CakePHP ORM CakePHP ORM提供了一种功能强大且...支持的数据库引擎CakePHP ORM兼容于:MySQL 5.1+ Postgres 8+ SQLite3 SQLServer 2008+ Oracle(通过社区插件)连接到数据库使用此库时,您要做的第一件事是注册一个con
Ibatis.net连接mysql数据库所需的依赖库和相关配置文件
使用SQL Cache Dependency 代替 Ibatisnet 提供的CacheModel ASP.NET 2.0中小心Profile命名冲突 使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200 [ASP.NET 2.0]PageParser.GetCompiledPageInstance中存在一个...