关于iBatis.NET连接各数据库时提示没找到数据库驱动的依赖文件
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连接各数据库时提示没找到数据库驱动的依赖文件的更多相关文章
- MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”。操作系统错误 5:“5(拒绝访问。)”。 (Microsoft SQL Server,错误: 5120)
MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”.操作系统错误 5:“5(拒绝访问.)”. (Microsoft SQL Server,错误: 5120) ***** 解决方法 ...
- 使用图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060)
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...
- 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 ...
- 登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期” 或提示 密码过期
登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期” 或提示 密码过期. [原因/触发因素] 确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD ...
- 删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)的问题
删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)的问题 删除数据库时提 ...
- SqlServer 2014还原数据库时提示:无法在已有的""上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件
场景 SQL Server 2014在还原数据库时提示: 无法在已有的""上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件... 实现 在还 ...
- Oracle数据库时提示“ORA-28000
当使用SQL*Plus登录时,Oracle数据库时提示“ORA-28000:帐号被锁定”. 导致出现改错误的原因是:在oracle database 11g中,默认在default概要文件中设置了“F ...
- django 多数据库时 ORM语句 选择数据库
多数据库时ORM语句选择数据库 不需要save的操作: 查询(删除的话查询语句后面加一个.delete()即可,修改的话在后面加一个.update()即可): models.表名.objects.us ...
- 查询安装webpack4.0是否成功时提示无法找到的解决方法
最近使用webpack -v 查询webpack版本时提示无法找到 然后我试着重新全局安装webpack,提示还需要安装webpack-cli 选择yes后虽能成功安装webp ...
随机推荐
- 对接第三方支付接口-获取http中的返回参数
这几天对接第三方支付接口,在回调通知里获取返回参数,有一家返回的json格式,请求参数可以从标准输入流中获取. //1.解析参数 , 读取请求内容 BufferedReader br; String ...
- PHP之简单实现MVC框架
PHP之简单实现MVC框架 1.概述 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种 ...
- Selenium Webdriver java 积累一
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...
- java 操作Excel表 创建 查看 修改
需要用到jxl.jar包 修改有两种方法一种是jxl的 另一种需要apache.poi包 package excelChuLi; import java.io.File; import java. ...
- TestNG
一.TestNG 是什么 ? 脱胎于业界标杆的Junit,并超于Junit,主要原因是由于当时的JUnit3版本不支持annotation,使用不够灵活. TestNG不再需要test前缀的命名方式. ...
- Docker version 1.12.5建立registry私库
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry :前面的是宿主机的地址(/opt/da ...
- python 类型大小
返回单位:字节 sys.getsizeof() import sys>>> sys.getsizeof(') >>> sys.getsizeof(') >&g ...
- LDAP的Schema
Schema是LDAP的一个重要组成部分,类似于数据库的模式定义,LDAP的Schema定义了LDAP目录所应遵循的结构和规则,比如一个 objectclass会有哪些属性,这些属性又是什么结构等等, ...
- cssSelector定位笔记1
cssSelector定位方法:1.使用class属性定位元素:driver.findElement(By.cssSelector("input.login"));即可以先指定一个 ...
- No Spring WebApplicationInitializer types detected on classpath。启动时不报错,但是页面打不开。
一片红,没有黑色disPatcher的加载. 百度,但是没有用,二十分钟浪费,这个问题的本质就是web.xml中的disPatcher没有加载,但是我肯定和代码无关,配置文件也没有变化过,值可能是to ...