IBatis.net连接MySql 问题与故障的解决方案
来源:Asp之家 发布时间:2011-06-02 09:38:00
由于笔者最近在做一个跨数据库操作的测试,开始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataAccess.1.9.2)+ SqlServer2005的测试时,使用都很顺利,但是使用IBatisNet+ MySql(5.1)的时候,却出现了一些问题。经过努力和网上收集终于解决了,下面把问题和解决办法一一贴出来共享。
问题描述:
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,是不能连接数据库成功的):
<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"/>
</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 。


猜你喜欢
- 1 案例描述输入三个整数x,y,z,请把这三个数由小到大输出。2 Python实现2.1 方法一(官方)L = []for i in ran
- 本文实例讲述了Python封装shell命令的方法。分享给大家供大家参考。具体实现方法如下:# -*- coding: utf-8 -*-i
- 说下思路吧:原图->灰度->根据像素亮度-映射到指定的字符序列中->输出。字符越多,字符变化稠密。效果会更好。如果根据灰度
- 1. 下载darknet源码在命令窗口(terminal)中进入你想存放darknet源码的路径,然后在该路径下输入依次输入以下命令:git
- 最近因为工作的需求,需要对mysql中数字进行格式化,但发现网上的资料较少,索性自己总结一下,方便自己也帮助有需要的朋友们,下面话不多说,来
- 前段时间公司数据库服务器崩溃启动不起来,经过我初步排查是/home目录挂载不上导致启动不起来,虽然通过注释/etc/fstab中的挂载信息,
- 执行时间方法1import datetimestarttime = datetime.datetime.now()#long running
- 1、搭载QT环境按win+R输入 pip install pyqt5 下载QT5 当然也可以去Qt的官网的下载 ,使用命令行更快捷方便 所以
- Windowns操作系统中安装Python,供大家参考,具体内容如下一.下载Python1.python 官网 下载安装包2.选择
- kNN(k-nearest neighbor)是一种基本的分类与回归的算法。这里我们先只讨论分类中的kNN算法。k邻近算法的输入为实例的特征
- 1.主要用到 QFileDialog 方法打开本地文件2.界面打开前:打开后:3. 代码import sysfrom PyQt5 impor
- insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 int
- 为了UED前端团队更好的协作开发同时提高项目编码质量,我们需要将Web前端使用工程化方式构建;目前需要一些简单的功能:  
- 解释一个机器学习模型是一个困难的任务,因为我们不知道这个模型在那个黑匣子里是如何工作的。解释是必需的,这样我们可以选择最佳的模型,同时也使其
- PHP 跳转,即重定向浏览器到指定的 URL,是一个很常见的功能。这种功能也有一些细节性的要求,比如等待多少秒以后跳转,用不用JavaScr
- 微信小程序一出,立马炸开了锅,都去搭建自己的开发环境,我这里也来尝尝先,之前发了一篇文章,有人问Demo怎么导入?Demo源代码(来自网络)
- 写在之前这几天的阅读量蜜汁低,是什么原因我也没搞清楚,如果你们觉得我哪里写的有问题,或者是哪里不好,欢迎后台或者微信告知我,先行谢过。昨天的
- 前言Sphinx是一款支持多种编程语言的文档生成工具,在python项目开发过程中,可以帮助开发者根据需求生成相应的说明文档,拿今天我们就基
- 引言python的一个优势是有着大量自带和在线的模块(module)资源,可以提供丰富的功能,在使用这些模块的时候,如果每次都去网站找在线文
- 本文实例讲述了Python3.4常用操作符,条件分支和循环用法。分享给大家供大家参考,具体如下:#Pyhon常用操作符c = d = 10d