iBatis.net在连接oracle数据库时使用的是:oracleClient1.0 这个是系统自带的驱动,配置上即可,使用的连接配置为:

  <database>
<provider name="oracleClient1.0"/>
<dataSource name="IBatis" connectionString="Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.195.236.6)(PORT = 1521)))(CONNECT_DATA =(SID = exoa)(SERVER = DEDICATED)));User Id=exoa;Password=password;"/>
</database>

后来改为使用mysql数据库做测试,查看了ibatis数据库驱动配置文件(Providers.config)原来使用的是1.6*的版本,已经很旧了,随便找了个mysql.data.dll文件引入到工程后,提示“Message=未能加载文件或程序集“MySql.Data, Version=1.6.****,”的字眼,也就是说,引入的新版的dll和iBatis中配置的驱动不一致引起的,配置里面说是引入了1.6版本的,现在找的dll看了下版本,应该是:6.2.3.0。 我们如何去修改iBatis的驱动配置文件呢,我们可以通过ILSPY软件进行对dll反编译,第一页就是这个dll的相关信息,如下:

// D:\********\Lib\DB_Lib\mysql\MySql.Data.dll
// MySql.Data, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d // Architecture: AnyCPU (64-bit preferred)
// Runtime: .NET 2.0

把这个信息更新到Providers.config对应的mysql驱动位置即可,如下:

  <provider
name="MySql"
description="MySQL, MySQL provider 6.2.3.0"
enabled="true"
assemblyName="MySql.Data, Version=6.2.3.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"
/>

注意,这里的Name可以随便起的, 但你使用的时候,需要哪个驱动,配置iBatis的dataBase的时候,provider name 就是填该Name的值。description这里指描述,也应该是可以随便写的,关键的是enabled如果为true,则iBatis加载的时候,就会去加载相应的驱动文件,它就会去 引入assemblyName的信息去加载,如果加载不了就会报错,因此,如果实际上没使用该驱动的时候,你又去启用它,运行时报错,你就会觉得莫名其妙,没使用该数据库,为何提示“未能加载文件或程序集”的错误,因此,你需要检查该Providers.config是否正常启用和停止使用某个数据库驱动。好了,这里mySql引入了新的驱动,需要修改assemblyName中Version和PublicKeyToken为反编译结果中的对应的值即可。下面贴出mysql配置的信息:

  <database>
<provider name="MySql"/>
<dataSource name="IBatis" connectionString="Server=localhost;Database=com_tool; User=root;Password=rootroot;"/>
</database>

关于iBatis.NET连接各数据库时提示没找到数据库驱动的依赖文件的更多相关文章

  1. MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”。操作系统错误 5:“5(拒绝访问。)”。 (Microsoft SQL Server,错误: 5120)

    MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”.操作系统错误 5:“5(拒绝访问.)”. (Microsoft SQL Server,错误: 5120) ***** 解决方法 ...

  2. 使用图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060)

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

  3. ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data...

    ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data... 2012-07-18 ...

  4. 登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期” 或提示 密码过期

    登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期” 或提示 密码过期. [原因/触发因素] 确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD ...

  5. 删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)的问题

    删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)的问题   删除数据库时提 ...

  6. SqlServer 2014还原数据库时提示:无法在已有的""上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件

    场景 SQL Server 2014在还原数据库时提示: 无法在已有的""上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件... 实现 在还 ...

  7. Oracle数据库时提示“ORA-28000

    当使用SQL*Plus登录时,Oracle数据库时提示“ORA-28000:帐号被锁定”. 导致出现改错误的原因是:在oracle database 11g中,默认在default概要文件中设置了“F ...

  8. django 多数据库时 ORM语句 选择数据库

    多数据库时ORM语句选择数据库 不需要save的操作: 查询(删除的话查询语句后面加一个.delete()即可,修改的话在后面加一个.update()即可): models.表名.objects.us ...

  9. 查询安装webpack4.0是否成功时提示无法找到的解决方法

        最近使用webpack -v 查询webpack版本时提示无法找到         然后我试着重新全局安装webpack,提示还需要安装webpack-cli 选择yes后虽能成功安装webp ...

随机推荐

  1. 浅析Java中CountDownLatch用法

    http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315652.html

  2. Google内部邮件:如何进行高效的时间管理能量波动图

    Google内部邮件:如何进行高效的时间管理能量波动图 发布时间: 2015-12-16 22:16:50| 阅读数:462 views 最近,我给团队内部写了一封简单的邮件.主要内容是征询他们,如何 ...

  3. Symmetric Multiprocessor Organization

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  4. Spring mvc example

    Spring mvc example 1.下载spring源包 spring地址:http://www.springsource.org/download 我下的是spring-framework-3 ...

  5. 在eclipse中创建一个Maven项目

    1. 首先判断eclipse有没有自带Maven Window –> Perferences 如果有Maven,那就是自带了maven插件,如果没有,需要自行安装. 2.配置maven 2.1. ...

  6. (转)微信小程序破解IDE

    1.IDE下载 微信web开发者工具,本人是用的windows 10 x64系统,用到以下两个版本的IDE安装工具与一个破解工具包: wechat_web_devtools_0.7.0_x64.exe ...

  7. win7 将所有 视图 改为 '详细信息'

    1.随便进入某个文件夹->(菜单栏中)查看->选'详细信息' 2.(菜单栏中)工具->文件夹选项->查看->'应用到文件夹'

  8. golang: 常用数据类型底层结构分析

    虽然golang是用C实现的,并且被称为下一代的C语言,但是golang跟C的差别还是很大的.它定义了一套很丰富的数据类型及数据结构,这些类型和结构或者是直接映射为C的数据类型,或者是用C struc ...

  9. 指定的架构无效。错误: CLR 类型到 EDM 类型的映射不明确

    在使用WebService开发时,同时使用了EF和linq,查询数据时,使用linq(查询订单)可以正常拉出数据, 但是使用EF(查询用户)却会报以下错误: {"指定的架构无效.错误: \r ...

  10. iOS:根据日志去定位网络请求发生的错误是由于服务端造成的,还是客户端造成的?

    一.介绍 在项目开发中,服务端和客户端的协作尤为重要,而连接它们的最重要的环节之一就是网络请求,对于服务端而言,如果这个环节出现了错误,那么安全性就无从谈起,同时对于客户端而言,如果这个模块出现了错误 ...