`
liyonghui160com
  • 浏览: 777454 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IBatisNet + MySql

阅读更多

 

最近一个小的项目使用了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+SQLlite DEMO

    通常,你可以通过NuGet包管理器来安装这两个库,例如`MySql.Data.SQLite`和`iBatisNet.DataMapper`。安装完成后,项目中应包含相应的引用。 接下来,我们关注如何配置iBatisNet。在.NET项目中,iBatisNet的配置文件...

    winfrom框架

    系统(ibatisnet + mysql ) ibatisnet sql配置文件内置,数据库连接字段加密,dubug日志输出。 系统中已完成ibatisnet下的增删改查等一系列操作,在用户管理中可以看到 并加入事务处理,日志记录。 登陆验证,自动...

    C#winform+ibatisnet框架

    在本项目中,我们主要探讨的是如何在C# WinForm应用程序中结合iBATIS.NET框架进行数据操作,尤其是实现数据库的分页功能。C# WinForm是.NET Framework提供的一种用于构建桌面应用程序的用户界面框架,而iBATIS.NET则...

    IBatisNet-执行存储过程-mysql 请点击分页按钮

    本文将详细介绍如何在.NET环境中,利用IBatisNet框架来执行MySQL数据库中的存储过程,并实现分页查询功能。 首先,让我们了解IBatisNet。IBatisNet是一个轻量级的ORM(对象关系映射)框架,它允许开发者将SQL语句与...

    IbatisNet项目实例.rar

    iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。下面是一个简单的iBATISNet应用架构。 项目中...

    ibatisnet.common.dll Ibatis.DataMapper.dll MySql.Data.dll.rar

    标题中的“ibatisnet.common.dll”、“Ibatis.DataMapper.dll”和“MySql.Data.dll.rar”分别代表了.NET环境中使用的三个不同组件。以下是这些组件的详细解释: 1. **ibatisnet.common.dll**:这是iBATIS.NET框架的...

    IBatisNet源代码

    IBatisNet支持多种数据库系统,如SQL Server、MySQL、Oracle等。每个提供者实现了数据库特定的接口,如命令执行、连接管理等。这使得IBatisNet具有良好的数据库无关性,能够轻松适应不同的数据库环境。 在源代码中...

    Ibatisnet大合集

    Ibatisnet支持多种数据库,包括但不限于MySQL、Oracle、SQL Server等。通过配置数据库连接字符串和驱动,你可以轻松地切换不同的数据库环境。 此外,Ibatisnet提供了动态SQL的功能,这使得在映射文件中可以根据条件...

    IBatisNet的用法

    &lt;section name="ibatisNet" type="iBatisNet.Framework.Config.IbatisNetSection, iBatisNet.Framework"/&gt; &lt;ibatisNet configurationFile="~/App_Data/SqlMapConfig.xml"/&gt; &lt;!-- ... --&gt; ``` ### 2. 创建...

    ibatisnet連接sql server 2008連接方法

    本文将深入探讨如何使用IbatisNet连接到SQL Server 2008,以及相关的C#编程知识。 首先,IbatisNet连接SQL Server 2008的基础是ADO.NET,它提供了与数据库交互的基本组件,如SqlConnection、SqlCommand等。要建立...

    C#生成IBatisNet实体和XML配置文件

    结合MySQL数据库和IBatisNet框架,我们可以构建高效、灵活的数据访问层。本主题聚焦于如何利用C#来自动化生成IBatisNet的实体类和XML配置文件,这将极大地提高开发效率并减少手动编码的工作量。 IBatisNet是一个轻...

    IBatisNet-源代码

    `DataAccessProvider`接口定义了数据访问的基本操作,不同的数据库供应商(如Oracle、MySQL、SQL Server等)可以通过实现这个接口提供适配器。 深入`IBatisNet`源代码,我们可以学习到以下关键知识点: 1. **XML...

    winfrom 框架

    winfrom 框架(mysql + ibatisnet ) 框架内包含了数据库分页自定义控件,ibatisnet数据库访问框架,sql配置文件内置,数据库连接地址加密。 登陆验证,日志记录,异常处理,事务处理。 系统也可换成oracle数据库,...

    IBatisNet.DataMapper 1.6.1.0之简单三层.zip

    - 支持多种数据库:IBatisNet.DataMapper支持多种数据库,如MySQL、SQL Server、Oracle等,只需更换数据库提供者即可。 - 错误处理:提供了详细的错误信息,方便开发者调试和解决问题。 总结起来,IBatisNet....

    Ibatis.net.7z

    1. **Mysql**: 这表明了我们需要的驱动程序是针对MySQL数据库的,通常会使用MySQL Connector/.NET,这是官方提供的.NET数据提供者,用于连接和操作MySQL数据库。 2. **Ibatis.net**: 这是主框架,包含核心功能和数据...

    IBatis.net 配置各种数据库

    &lt;add name="MySqlConnection" type="iBatisNet.DataProviders.MySql.MySqlConnectionProvider, iBatisNet.DataProviders.MySql"/&gt; &lt;add name="DefaultDataSource" providerName="MySqlConnection" ...

    动软DBUtility类 源码,含oracle,sqlserver,mysql,sqllite等类 和所需DLL

    动软DBUtility类,含oracle,sqlserver,mysql,sqllite 和 所需DLL COM.Excel.dll Excel.dll IBatisNet.Common.dll IBatisNet.DataMapper.dll MySql.Data.dll OpenSmtp.dll OWC10Chart.dll

    ibatis net 指导 手册

    - 包括各种主流关系型数据库系统,如MySQL、Oracle、SQL Server等。 - **3.7 缓存模型** - iBATIS提供了缓存机制来提高性能。 - **3.7.1 读取只读与读写缓存(仅Java)** - 读取只读缓存不会被更新,而读写缓存...

Global site tag (gtag.js) - Google Analytics